您好,登錄后才能下訂單哦!
小編給大家分享一下Linux下如何抓包tcpdump,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
公司Linux下socket對接時發現接口中總是報錯,所以研究了一下Linux下的抓包
tcpdump host #IP地址# //獲取主機210.27.48.1接收或發出的telnet包
tcpdump參數的主要選項
-i :指定網卡 默認是 eth0
-n :線上ip,而不是hostname
-c :指定抓到多個包后推出
-A:以ASCII方式線上包的內容,這個選項對文本格式的協議包很有用
-x:以16進制顯示包的內容
-vvv:顯示詳細信息
-s :按包長截取數據;默認是60個字節;如果包大于60個字節,則抓包會出現丟數據;所以我們一般會設置 -s 0 ;這樣會按照包的大小截取數據;抓到的是完整的包數據
-r:從文件中讀取【與 -w 對應,/usr/sbin/tcpdump -r test.out 讀取 tcpdump -w test.out】
-w:到處指向文件【一定要用,-w t.out ,然后用 -r t.out 來看抓包信息,否則可讀性很差】
2. tcpmdump 抓包出來分析包的具體含義
包攜帶的標志:S:S=SYC :發起連接標志P:P=PUSH:傳送數據標志F:F=FIN:關閉連接標志ack:表示確認包RST=RESET:異常關閉連接. 表示沒有任何標志
第一行: S:表示 clinet.hostname 的臨時端口50741向 server.hostname 80 端口發起連接,client 的初始包序號是: 562843056 ;滑動窗口(win 14480)的大小是:14480 [14k] 滑動窗口即tcp 接收緩沖區的大小,用于tcp 擁塞控制;mss 1460:可以接收的最大包長度,通常是MTU - 40 byte;IP頭和TCP頭各20byte
第二行: S:表示SYN狀態;是server.hostname 對第一行 clinet.hostname 發起連接的請求的回應;同時帶上client 端 初始包序號 + 1:ack 562843057 ,即server.hostname 下次等待接收這個包序號的包,用于tcp 字節流的順序控制(?). server.hostname 初始包序列號:2306923370
第三行:client.hostname 再次確認,tcp連接完成三次握手。
第四行:P:推送數據 client.hostname 通過 50741 端口向 server.hostname 發送數據包;數據包大小是 1005byte ;第五行是 server.hostname 響應這個數據包發送,接收這個數據包。----> 當完成后會出現一個 server.hostname F 關閉連接的數據包,這里沒有抓取
第6行 ---->10行是對 1-5行的重復;因為機器是web服務是并發的。
以上是Linux下如何抓包tcpdump的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。