用協(xié)議分析工具學(xué)習(xí)TCP/IP(3)

下面通過(guò)分析用iris捕獲的包來(lái)分析一下TCP/IP的工作過(guò)程,為了更清晰的解釋數(shù)據(jù)傳送的過(guò)程,我們按傳輸?shù)牟煌A段抓了四組數(shù)據(jù),分別是查找服務(wù)器、建立連接、數(shù)據(jù)傳輸和終止連接。每組數(shù)據(jù),按下面三步進(jìn)行解釋。
  顯示數(shù)據(jù)包
  解釋該數(shù)據(jù)包
  按層分析該包的頭信息

第一組 查找服務(wù)器
  1)下圖顯示的是1、2行的數(shù)據(jù)

用協(xié)議分析工具學(xué)習(xí)TCP/IP(圖九)

點(diǎn)擊查看大圖

圖9

  2)解釋數(shù)據(jù)包
  這兩行數(shù)據(jù)就是查找服務(wù)器及服務(wù)器應(yīng)答的過(guò)程。
  在第1行中,源端主機(jī)的MAC地址是00:50:FC:22:C7:BE。目的端主機(jī)的MAC地址是FF:FF:FF:FF:FF:FF,這個(gè)地址是十六進(jìn)制表示的,F(xiàn)換算為二進(jìn)制就是1111,全1的地址就是廣播地址。所謂廣播就是向本網(wǎng)上的每臺(tái)網(wǎng)絡(luò)設(shè)備發(fā)送信息,電纜上的每個(gè)以太網(wǎng)接口都要接收這個(gè)數(shù)據(jù)幀并對(duì)它進(jìn)行處理,這一行反映的是步驟5)的內(nèi)容,ARP發(fā)送一份稱作ARP請(qǐng)求的以太網(wǎng)數(shù)據(jù)幀給以太網(wǎng)上的每個(gè)主機(jī)。網(wǎng)內(nèi)的每個(gè)網(wǎng)卡都接到這樣的信息“誰(shuí)是192.168.113.1的IP地址的擁有者,請(qǐng)將你的硬件地址告訴我”。
  第2行反映的是步驟6)的內(nèi)容。在同一個(gè)以太網(wǎng)中的每臺(tái)機(jī)器都會(huì)"接收"到這個(gè)報(bào)文,但正常狀態(tài)下除了1號(hào)機(jī)外其他主機(jī)應(yīng)該會(huì)忽略這個(gè)報(bào)文,而1號(hào)的主機(jī)的ARP層收到這份廣播報(bào)文后,識(shí)別出這是發(fā)送端在尋問(wèn)它的IP地址,于是發(fā)送一個(gè)ARP應(yīng)答。告知自己的IP地址和MAC地址。第2行可以清楚的看出1號(hào)回答的信息__自己的MAC地址00:50:FC:22:C7:BE。
  這兩行反映的是數(shù)據(jù)鏈路層之間一問(wèn)一答的通信過(guò)程。這個(gè)過(guò)程就像我要在一個(gè)坐滿人的教室找一個(gè)叫“張三”的人,在門口喊了一聲“張三”,這一聲大家都聽(tīng)見(jiàn)了,這就叫廣播。張三聽(tīng)到后做了回應(yīng),別人聽(tīng)到了沒(méi)做回應(yīng),這樣就與張三取得了聯(lián)系。
  3)頭信息分析
  如下圖左欄所示,第1數(shù)據(jù)包包含了兩個(gè)頭信息:以太網(wǎng)(Ethernet)和ARP。


用協(xié)議分析工具學(xué)習(xí)TCP/IP(圖十)

點(diǎn)擊查看大圖

圖10

  下表2是以太網(wǎng)的頭信息,括號(hào)內(nèi)的數(shù)均為該字段所占字節(jié)數(shù),以太網(wǎng)報(bào)頭中的前兩個(gè)字段是以太網(wǎng)的源地址和目的地址。目的地址為全1的特殊地址是廣播地址。電纜上的所有以太網(wǎng)接口都要接收廣播的數(shù)據(jù)幀。兩個(gè)字節(jié)長(zhǎng)的以太網(wǎng)幀類型表示后面數(shù)據(jù)的類型。對(duì)于ARP請(qǐng)求或應(yīng)答來(lái)說(shuō),該字段的值為0806。
  第2行中可以看到,盡管ARP請(qǐng)求是廣播的,但是ARP應(yīng)答的目的地址卻是1號(hào)機(jī)的(00 50 FC 22 C7 BE)。ARP應(yīng)答是直接送到請(qǐng)求端主機(jī)的。

以太網(wǎng)目的地址(6) 以太網(wǎng)源地址(6) 幀類型(2)
1 FF FF FF FF FF FF 00 50 FC 22 C7 BE 06 06
2 00 50 FC 22 C7 BE 00 50 27 F6 50 53 06 06

表2

  下表3是ARP協(xié)議的頭信息。硬件類型字段表示硬件地址的類型。它的值為1即表示以太網(wǎng)地址。協(xié)議類型字段表示要映射的協(xié)議地址類型。它的值為0800即表示IP地址。它的值與包含I P數(shù)據(jù)報(bào)的以太網(wǎng)數(shù)據(jù)幀中的類型字段的值相同。接下來(lái)的兩個(gè)1字節(jié)的字段,硬件地址長(zhǎng)度和協(xié)議地址長(zhǎng)度分別指出硬件地址和協(xié)議地址的長(zhǎng)度,以字節(jié)為單位。對(duì)于以太網(wǎng)上IP地址的ARP請(qǐng)求或應(yīng)答來(lái)說(shuō),它們的值分別為6和4。Op即操作(Opoperation),1是ARP請(qǐng)求、2是ARP應(yīng)答、3是RARP請(qǐng)求和4為RARP應(yīng)答,第二行中該字段值為2表示應(yīng)答。接下來(lái)的四個(gè)字段是發(fā)送端的硬件地址、發(fā)送端的IP地址、目的端的硬件地址和目的端IP地址。注意,這里有一些重復(fù)信息:在以太網(wǎng)的數(shù)據(jù)幀報(bào)頭中和ARP請(qǐng)求數(shù)據(jù)幀中都有發(fā)送端的硬件地址。對(duì)于一個(gè)ARP請(qǐng)求來(lái)說(shuō),除目的端硬件地址外的所有其他的字段都有填充值。
  表3的第2行為應(yīng)答,當(dāng)系統(tǒng)收到一份目的端為本機(jī)的ARP請(qǐng)求報(bào)文后,它就把硬件地址填進(jìn)去,然后用兩個(gè)目的端地址分別替換兩個(gè)發(fā)送端地址,并把操作字段置為2,最后把它發(fā)送回去。

硬件類型
(2)
協(xié)議類型
(2)
硬件地址
長(zhǎng)度(1)
協(xié)議地址
長(zhǎng)度(1)
Op
(2)
發(fā)送端以太網(wǎng)地址(6) 發(fā)送端IP地址(4) 目的以太網(wǎng)地址(6) 目的IP地址(4)
1 00 00 08 00 06 06 00 01 0050FC22C7BE C0A871D0 000000000000 C0A871D1
2 00 00 08 00 06 06 00 02 005027F65053 C0A871D1 0050FC22C7BE C0A871D0

表3

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡(jiǎn)章