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

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

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

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

點擊查看大圖

圖9

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


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

點擊查看大圖

圖10

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

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

硬件類型
(2)
協(xié)議類型
(2)
硬件地址
長度(1)
協(xié)議地址
長度(1)
Op
(2)
發(fā)送端以太網地址(6) 發(fā)送端IP地址(4) 目的以太網地址(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

北大青鳥網上報名
北大青鳥招生簡章