淺談在Linux系統(tǒng)中以太網(wǎng)數(shù)據(jù)幀的監(jiān)昕與分析
摘要:以大網(wǎng)數(shù)據(jù)傳輸通過廣播實現(xiàn),在同-I嗎段的所有的卡事實上都可以訪問在共享的物理介質(zhì)上傳輸?shù)乃?a href="/qitalunwen/5919.html">數(shù)據(jù)但在系統(tǒng)正常工作時電一個合法的網(wǎng)絡(luò)接口應只響應兩種數(shù)據(jù)幀一是幀的目標MAC地址與本地MAC地址相符;二是'1負的目標地址是廣播地址若要監(jiān)聽所有流經(jīng)網(wǎng)卡的數(shù)據(jù)幀,當用于監(jiān)聽的主和L連接在共享型以太間集線器上時,采用"混雜"模式可以監(jiān)聽到同一沖突域上傳輸?shù)臄?shù)據(jù)幀:但當監(jiān)聽的主機連接在交換機上時.可以利用交換機的揣口統(tǒng)像(Port Mi町oring)功能實現(xiàn)監(jiān)聽
關(guān)鍵詞.數(shù)據(jù)幀;MAC丁地址;混雜"模式:揣口佼像
1引言
叮今網(wǎng)給技術(shù)的飛速發(fā)展.網(wǎng)絡(luò)安全問題撞發(fā)1'1,!,~_ IE坦白網(wǎng)絡(luò)'II,吟ft!息迸f J傳播的時候,可以利川J I具,將網(wǎng)絡(luò)中正在傳播的信息截獲或者捕獲于I],從1M i圭行攻I七日前絕大多數(shù)網(wǎng)納都是采用~~A:同結(jié)構(gòu),爾文通過具體分析以大|叫小數(shù)據(jù)的傳輸與接收原理來市大家理解網(wǎng)絡(luò)的安全性問題
2監(jiān)昕的實施
以大網(wǎng)數(shù)據(jù)傳輸通過f播實圳, tf問 l叫段的liji{J網(wǎng)1、')1'蘭、|占IIJlf['J.iJjI'll]在共字的物理介質(zhì)I傳輸?shù)乃鵾J主義據(jù)f且在系統(tǒng)正常I作Ilt,--個合法的網(wǎng)絡(luò)接IJr,v:只晌j,;i I均種數(shù)據(jù)幀· iit制l的LJ卡'J; MAC地址lj木地明氣仁地劃相衍;一是幀的目標地址是廣播地址嚕除此之外數(shù)據(jù)幀將被丟棄不作處理~監(jiān)昕ifLff川仁的不同fJ'iL'.主憂的數(shù)據(jù),筆耕文化推薦期刊,必須繞過系統(tǒng)IE常J'作的處理機制,直接訪問
網(wǎng)絡(luò)底層 a
{t一個實際的系統(tǒng)葉I數(shù)據(jù)的收發(fā)是It I悶在未完成的.悶卡拔收到傳輸來的數(shù)據(jù),1叫卡內(nèi)的E'(l.片程序接4ll數(shù)據(jù)幀的目的MAι 地址.根據(jù)計算機I'.的網(wǎng)卡驅(qū)動程序設(shè)置的戰(zhàn)收憤式判斷該不i交接收.認為i亥樓收就戰(zhàn)收盯產(chǎn)生巾斷信號通知CPU,認為不i亥接收就丟掉不管.所以不i亥接收的數(shù)據(jù)網(wǎng)卡就戰(zhàn)斷了.計算機擬本就不知迫 CPU得到小斷信LJ產(chǎn)生巾斷,操作系統(tǒng)就根據(jù)網(wǎng)卡的驅(qū)動科If設(shè)置的|葉卡巾斷程序地址洲Hi !ll< lJJ f',l I于戰(zhàn)收數(shù)據(jù). !11~ ih f'l' I忖主q讓數(shù)據(jù)I,~-放入信號堆棱il操作系統(tǒng)處理麗對于網(wǎng)卡來說一般有四種接收懊式:
廣播中莫式: i炙憤式F的網(wǎng)k能夠拔收|嗎紹'I' (I\JJ' 1:品f,'j忠、組播模式:設(shè)置{I: i亥模式F的網(wǎng)卡能夠戰(zhàn)收到J函數(shù)據(jù)
直接模式:在這種傾式下.只有fI的網(wǎng)長斗能戰(zhàn)收i去數(shù)據(jù)itf.;)號幀式:在這種偵式下的問仁能夠戰(zhàn)4ll . l/J@過它的數(shù)據(jù),1(11七位二戰(zhàn)數(shù)據(jù)是嚴?是傳給它的
吁用于11昕的i工機連撞在j仁宇嚀!以k網(wǎng)fu紋~~ I H.J,來If!" j~f.朵"偵式可以監(jiān)i聽到l,iJ- -III'突域|一傳輸?shù)臄?shù)據(jù)幀;但吁監(jiān)聽的主機連戰(zhàn){I交換機1.1l、t,由F交挽機通常不會將數(shù)據(jù)幀j'橋1、IJI可「千f端川1(1徐II二在交快機的MAC1-也址端U映射去l付找不到相應的表項),閃WI不能利用以太l叫綿的j' tl特性進行l(wèi)~lll,斤一這IIJ,Il]以利用交換機的11最I(lǐng)J饒像(Port Mirroring)功能實現(xiàn)監(jiān)l聽,端門鏡像可以il用戶斗守所有的流撾從一個特定的端II復11Jij主IJ-個饒(象端Ll例如I:
飛端iLIA和瑞:一仁] B之rllj建古鏡像關(guān)系.jytff端門扎的所有{言忠、流將liiJ時通過端j IJ B輸:-H電從而口J以在瑞II B:iiill廳主IJ;甘,jU氣的數(shù)以
3以太網(wǎng)數(shù)據(jù)幀格式4在Linux系統(tǒng)中編程實現(xiàn)的要點
推薦閱讀:《計算機科學》
4.1設(shè)置套接口以捕獲鏈路幀
在LimlX系統(tǒng)Ij'編刀網(wǎng)絡(luò)lKi II廳程序.比較簡單的力u~· JJ二(IJij級Ifjj"憤式卡.平IjlH類明為SOCK P氣CKET的套撞II (s時kt'l的數(shù))來捕獲鏈路中。1為此.市t: ijIJHr:列文f'i::
domain參數(shù):去/J~所使用的協(xié)議簇:
1、PI'參數(shù):去/J\套J在川的類刑;
proto川l參數(shù):去以所使HJ的協(xié)議簇It'某個村屯的I;hi史
如果的數(shù)惦l川I)比r}J.套接門的描述衍(H一負?在數(shù))就11溝的數(shù)的返1"1 Ott,仰自II i豆Inll1C"J -I.就表明有錯誤發(fā)葉飛
LimlX C擴展(j'('t在rIm數(shù).增ill門'創(chuàng))(]\. PACKET類:刑.他之"I以片lfl!;[11斤鏈路層的數(shù)據(jù)。rrJi,進而得以分析各層的協(xié)議數(shù)據(jù) 單元使川陰陽,ket的數(shù)捕獲鏈路層數(shù)據(jù)幀.domain參數(shù)I,:r:-t呂定為AI-' INET協(xié)議簇.表盡采用internet協(xié)議簇;type參數(shù)指定為SOCK]ACKET. t乏不if~JIll鏈躋層數(shù)據(jù).不何處用; 1(lj pmtncol參數(shù)禾ilj htons (Ox0003).表不使用的特定協(xié)議是截取所有類馴的數(shù)據(jù) 幀二這里htons的數(shù)川于句號在數(shù)的于jY順序轉(zhuǎn)擬 il飼機敬如{{fin {11JJ.j1'/'宇'I) I尤'尤lI[ij[ If.:高校字節(jié)優(yōu)先和f床位寧11'1優(yōu)先Internet L數(shù)據(jù)以高價'齊'ti優(yōu)先lIirill卡在網(wǎng)絡(luò)|傳輸.所以~,t HI一內(nèi)部是l'J(仄(117口優(yōu)先力式存儲數(shù)據(jù)的機器.在Internet t傳輸數(shù)據(jù)時就需要進行轉(zhuǎn)換,[Ii則就會tH現(xiàn)!數(shù)據(jù)不到(下面是IL個寧rJ順序轉(zhuǎn)掀E的敦:
htonl():把32拉伯從仨機'r: WI于轉(zhuǎn)換成網(wǎng)絡(luò)'j-: 'I'i I卡; htons():把16位值從L機'{: 'r'j序轉(zhuǎn)換成|柑l絹'j-: 'I丁吁:
ntohl():把32(J.ft{從網(wǎng)絡(luò)字節(jié)!于轉(zhuǎn)根IN:十二磯'f: 'I'ilf; ntohs():把16f.'l伯從網(wǎng)絡(luò)字節(jié)廳,轉(zhuǎn)損Ill(:主機'F'rJ Ii' 階l聽H,t socket的數(shù)i閑時形式為:
int fd;
fd=惱。('ket(氣F I到ET. SOCK P氣CKE'[\ht,川、(Ox003) );
安設(shè)置問卡Iii T勺Ii朵"模式. N! ilj i川、tl的數(shù).I~\氣'J([II卡:
lilt I仰tl(int d. int rp<jllest.…..)
本文編號:6139
本文鏈接:http://sikaile.net/kejilunwen/xinxigongchenglunwen/6139.html