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

