ZT - UNIX 網路協議的深度分析(2)
基本的網路分析
本文之前提到的許多網路嗅探工具都提供了不同級別的協議解碼,它們是透過檢查埠和內容來確定所使用的協議實現的。[@more@]基本的網路分析
本文之前提到的許多網路嗅探工具都提供了不同級別的協議解碼,它們是透過檢查埠和內容來確定所使用的協議實現的。
例如,snoop 和 tcpdump 都提供了關於 UDP 和 TCP 上不同協議的不同級別的詳細資訊。例如,在 snoop 中,您可以獲得從頂級協議到所傳輸的單個資料塊的關於 NFS 操作的詳細資訊。例如,您可以透過指定監控 RPC 使用 NFS 協議來實現對 NFS 流量的監控:$ snoop -v rpc nfs。
它能輸出非常詳細的資料包資訊,並且它們應該進行更緊密的觀察。清單 1 提供了 Ethernet 報頭資料。
清單 1. Ethernet 報頭資料
ETHER: ----- Ether Header -----
ETHER:
ETHER: Packet 64 arrived at 16:14:41.79434
ETHER: Packet size = 238 bytes
ETHER: Destination = 0:1a:ee:1:1:c0,
ETHER: Source = 0:21:28:3c:c0:61,
ETHER: Ethertype = 0800 (IP)
ETHER:
這裡的輸出表明 Ethernet 資料包包含了 IP 資料、全部資料包大小和時間,以及資料包的目標和來源地址。
清單 2 顯示的是 IP 報頭。其中除了協議和來源/目標地址資訊,其餘許多 IP 資料是沒有用的。
清單 2. IP 報頭
IP: ----- IP Header -----
IP:
IP: Version = 4
IP: Header length = 20 bytes
IP: Type of service = 0x00
IP: xxx. .... = 0 (precedence)
IP: ...0 .... = normal delay
IP: .... 0... = normal throughput
IP: .... .0.. = normal reliability
IP: .... ..0. = not ECN capable transport
IP: .... ...0 = no ECN congestion experienced
IP: Total length = 224 bytes
IP: Identification = 27460
IP: Flags = 0x4
IP: .1.. .... = do not fragment
IP: ..0. .... = last fragment
IP: Fragment offset = 0 bytes
IP: Time to live = 64 seconds/hops
IP: Protocol = 6 (TCP)
IP: Header checksum = 4d11
IP: Source address = 192.168.0.112, tiger.mcslp.pri
IP: Destination address = 192.168.0.2, bear.mcslp.pri
IP: No options
IP:
在 清單 3 中,您可以看到 TCP 報頭。同樣,這些資訊中通常只有來源和目標埠號才是有用的,因為這些資訊將可用於確定預期的協議,或者提供給您可用於更進一步觀察這個埠所傳輸流量的資訊。
清單 3. TCP 報頭
TCP: ----- TCP Header -----
TCP:
TCP: Source port = 2049
TCP: Destination port = 889 (Sun RPC)
TCP: Sequence number = 2834727685
TCP: Acknowledgement number = 2654368001
TCP: Data offset = 32 bytes
TCP: Flags = 0x18
TCP: 0... .... = No ECN congestion window reduced
TCP: .0.. .... = No ECN echo
TCP: ..0. .... = No urgent pointer
TCP: ...1 .... = Acknowledgement
TCP: .... 1... = Push
TCP: .... .0.. = No reset
TCP: .... ..0. = No Syn
TCP: .... ...0 = No Fin
TCP: Window = 32806
TCP: Checksum = 0x4852
TCP: Urgent pointer = 0
TCP: Options: (12 bytes)
TCP: - No operation
TCP: - No operation
TCP: - TS Val = 34449495, TS Echo = 253458642
TCP:
清單 4 的倒數第二部分顯示的是 RPC 報頭資料。
清單 4. RPC 報頭資料
RPC: ----- SUN RPC Header -----
RPC:
RPC: Record Mark: last fragment, length = 168
RPC: Transaction id = 3041181596
RPC: Type = 1 (Reply)
RPC: This is a reply to frame 63
RPC: Status = 0 (Accepted)
RPC: Verifier : Flavor = 0 (None), len = 0 bytes
RPC: Accept status = 0 (Success)
RPC:
最後,清單 5 提供了 NFS 資料包內容,包括許可權(檔案模式)、檔案大小、擁有者和其他資訊。在這裡,這個 NFS 操作請求是進行檔案系統統計(這等同於 ls 操作結果),因此這就是詳細資訊。
清單 5. NFS 資料包內容
NFS: ----- Sun NFS -----
NFS:
NFS: Proc = 18 (Get filesystem statistics)
NFS: Status = 0 (OK)
NFS: Post-operation attributes:
NFS: File type = 2 (Directory)
NFS: Mode = 0777
NFS: Setuid = 0, Setgid = 0, Sticky = 0
NFS: Owner's permissions = rwx
NFS: Group's permissions = rwx
NFS: Other's permissions = rwx
NFS: Link count = 24, User ID = 502, Group ID = 10
NFS: File size = 29, Used = 2560
NFS: Special: Major = 4294967295, Minor = 4294967295
NFS: File system id = 781684113418, File id = 4304616
NFS: Last access time = 28-Feb-10 15:49:51.042953989 GMT
NFS: Modification time = 25-Feb-10 09:39:07.965422590 GMT
NFS: Attribute change time = 25-Feb-10 09:39:07.965422590 GMT
NFS:
NFS: Total space = 759567510016 bytes
NFS: Available space = 659048374272 bytes
NFS: Available space - this user = 659048374272 bytes
NFS: Total file slots = 1288161604
NFS: Available file slots = 1287203856
NFS: Available file slots - this user = 1287203856
NFS: Invariant time = 0 sec
NFS:
在這裡,我們可以看到所查詢的檔案事實上是一個目錄(見檔案型別行)。雖然我們沒有得到檔案的實際路徑,但是我們可以透過使用 Find 命令來查詢 inode 號對應的檔案/路徑來查詢上面提到的目錄(見 清單 6)。
清單 6. 查詢 inode 號對應的檔案
$ find /scratch -xdev -inum 4304616
/scratch/installed/mysql-6.0.11
如果您準備分辨流量,那麼使用這些工具的最佳方法是首先執行它們,收集儘可能多的資料,然後手動檢查資料內容,找出您的網路本來不應該出現的資料項。
一旦您識別出了可疑流量,您就可以開始在命令列上新增引數以便關注於流量細節。例如,您可以使用 清單 7 所示的命令之一,規定只顯示特定主機的流量。
清單 7. 規定只顯示一個特定主機的流量
$ snoop host 192.168.0.2
$ tcpdump host 192.168.0.2
要進一步限制,您可以限制協議資訊的埠:$ snoop host 192.168.0.2 and port 25。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16896827/viewspace-1036462/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ZT - UNIX 網路協議的深度分析(5)協議
- ZT - UNIX 網路協議的深度分析(3)協議
- ZT - UNIX 網路協議的深度分析(1)協議
- 網路協議之:socket協議詳解之Unix domain Socket協議AI
- Asyncdb(四):MySQL網路協議分析MySql協議
- 【網路協議】UDP協議協議UDP
- 《Unix 網路程式設計》15:Unix 域協議程式設計協議
- IP協議(網路層協議)協議
- 網路協議協議
- 【網路協議】IP協議、ARP協議、RARP協議協議
- ZT - 對話 UNIX: UNIX 高手的重大秘密(2)
- 【網路協議】TCP協議簡介協議TCP
- Wireshark資料抓包分析(網路協議篇)第1章網路協議抓包概述協議
- 網路協議圖形化分析工具EtherApe協議
- 網路協議之:haproxy的Proxy Protocol代理協議協議Protocol
- 網路管理協議協議
- web網路協議Web協議
- 網路協議大全協議
- 常見的網路協議協議
- 16.unix域協議協議
- 網路通訊協議-ICMP協議詳解!協議
- 網路通訊協議-TCP協議詳解!協議TCP
- 網路通訊協議-HTTP協議詳解!協議HTTP
- 網路通訊協議-SMTP協議詳解!協議
- 【網路協議】ICMP協議、Ping、Traceroute協議
- 什麼是協議?| 網路協議定義協議
- 網路協議 1 - 概述協議
- 網路協議基本概述協議
- 防火牆 | 網路協議防火牆協議
- 網路通訊協議協議
- 網路協議入門協議
- 【網路協議之OSPF】協議
- 網路傳輸協議協議
- 網路協議之TCP協議TCP
- TCP/IP網路協議TCP協議
- 網路七層協議協議
- 網路安全網路協議知識點中,http協議是什麼?協議HTTP
- 基於滴滴雲的網路協議棧效能分析工具使用協議