您好,登錄后才能下訂單哦!
工作中的常用用法
一、tcpdump常用用法:
1,-i 指定網口 -vnn 常用選項,顯示詳細信息并且不解析IP,端口 ;
抓取某個網口上發往或來自某個IP的報文tcpdump -i ethX host 192.168.1.100 -vnn
2,可以用or 或者and 連接多個過濾條件,port前的tcp表示tcp協議,也可為udp;
抓取某個網口上發往或來自某個IP、并且指定端口的報文tcpdump -i ethX host 192.168.1.100 and tcp port 22(端口號) -vnn
3, -c 指定抓取報文的數量, 用 -w 把抓取的數據包寫入文件;
抓取某網口50個包并寫入dump.cap(為什么是 .cap?因為wireshark識別此擴展名)文件:tcpdump -i ethX -c 50 -w /root/dump.cap
4,可以用關鍵字 src 或者 dst 表示 源 或者 目的;
抓取源端口號為22(tcp協議)的報文tcpdump -i ethX tcp src port 22(端口號) -vnn
以上為常用用法,可以根據實際情況靈活組合。
二、wireshark分析報文:
1,淡紫色數據包為正常數據包,包括數據包和ACK包
2,黑色為異常包,包括丟包ACK、重傳等
2.1 Packet Size limited during capture
這個標志說明數據包并沒被完全抓到,而只是抓到了一部分。這種情況多數是由于抓包方式引起,在某些系統中tcpdump只抓每個幀的前96個字節。我們可以”-s”參數來指定想要的字節數。
2.2 TCP previous segment not captured
TCP傳輸過程中同一臺主機發出的數據應該是連續的,即后一個數據包的Sequence應該等一前一個數據包的sequence+len,如果后面捕捉到的數據包不符合這樣的規律,即sequence比前一個包的sequence+len大的話,我們就可以認定中間的數據包就沒有抓到,導致這個數據包沒有按時到達的原因可能有亂序或者丟包導致。
2.3 TCP ACKed unseen segment
當WireShark發現被ACK的那個包沒被抓到,就會提示[TCP ACKed unseen segment],這種提示一般沒有什么問題,就是WireShark漏抓了。
2.4 TCP Dup ACK
當出現亂序或者丟包等情況的時候,本來應該收到的數據包沒有收到,反而收到了一些Sequence號比較大的數據包,這時候客戶端就會回復一個ACK,ACK本應該收到卻沒有收到的包,如果后面來的還不是所期望的數據包,那么客戶端每收到一個其他數據包就會回復一個ACK,由于這些ACK是重復的,所以就會提示[TCP Dup ACK]。
2.5 TCP Out-of-Order
TCP傳輸過程中數據包的Sequence號應該是持續遞增的,也就是說每個數據包之間應該只差一個Len的數據,但是在傳輸過程中如果Sequence比較大的數據包比Sequence比較小的數據包先到達的話,就會觸發[TCP Previous Segment not cpatured],然后如果在后續收到了“遲到”的數據包,就會被標記[TCP Out-of-order]。
2.6 TCP Fast Retransmission
當服務器收到3個或以上的[TCP Dup ACK]后就會判定所ACK的包丟失了,哪怕還沒有超過定時器的規定,都會立即重新發送,客戶端收到后會標記為[TCP fast retransmission]。
2.7 TCP Retransmission
一般來說一個數據包丟失后又沒有足夠的后續數據包來觸發[TCP Fast Retransmission]的話,超過定時器的時限后就會觸發超時重傳,這時候客戶端收到的數據包就會被標記[TCP Retransmission]。
2.8 TCP Zerowindow
在TCP數據包中,Info那一欄的中的”win=XX”中XX代表了接收窗口的大小,代表了這個信息的源地址的主機還有多少數據可以接收,或者說緩存區還有多少空間。當win=0的時候就會給相應ACK打上[TCP Zerowindow]的標志,告訴發送方我沒有數據可以接收了。
2.9 TCP window full
當出現這個標志的時候證明發送方已發送的但還沒有確認的數據包已經達到了接收方接收窗口的上限,也就是說這個時候發送方就會停止發送數據,而不是等接收方回復[TCP Zerowindow]后才停止發送。所以[TCP window full]針對的是發送方沒法發送數據,而[TCP Zerowindow]指的是接收方沒法接收數據,不管出現哪一種情況,都會中斷數據的傳輸,直到緩存區有新的空間存放數據。
3,數據包的標簽從左到右依次為:
數據包編號---時間---源地址---目標地址---協議類型---長度---總長度---數據包序號---下一個數據包序號---ACK號---身份識別碼---RTT---一些窗口參數
4,再點擊一個報文后,我們在WireShark的下端可以看到更為詳細的信息:
分別對應OSI七層模型的,數據鏈路層、網絡層、傳輸層、應用層
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。