歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Tcpdump的用法及使用案例

Tcpdump的用法及使用案例

日期:2017/2/28 14:38:19   编辑:Linux教程

Tcpdump工具是Unix和linux系統抓網絡數據庫包最有效的工具,windows上類似的工具是wireshark。 tcpdump可以將網絡中傳送的數據包的“頭”完全截獲下來提供分析。它支持針對網絡層、協議、主機、網絡或端口的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。另外tcpdump可以導入的文件中,可以進一步使用wireshark和java代碼進一步統計過濾分析。該命令需要root權限,命令會自動把網卡設置為混雜(promiscuous)狀態

1,Tcpdump常用命令:

監聽某個網卡

tcpdump -i bond0

顯示和某主機192.168.0.1通信的數據包

tcpdump host 192.168.0.1

源地址和目的地址,特殊端口的數據包

tcpdump src 192.168.1.100 and dst192.168.1.2 and port ftp

查看udp數據包

tcpdump udp

查看數據包的內容

tcpdump -A

相關數據包寫入某文件

tcpdump -w /tmp/tcpdump.cap

2,TCPDUMP應用案例

tcpdump不僅可以處理日常網絡相關問題問題,還可用於分析數據庫問題,用於數據庫調優

案例1:客戶端(192.168.15.14)突然不能訪問sql server數據庫(192.168.15.14)

1,windows端使用wireshark抓到的報文,通過報文顯示,SQLSERVER服務器端已經收到了ack請求,並把確認了相關請求(ACK=1),但是客戶端都沒有到確認請求

10:51:21.102439 IP (tos 0x10, ttl 60, id 45670, offset 0, flags [DF], length:44) yytlc.50162 > 192.168.15.14.ms-sql-s: S [tcp sum ok]616881461:616881461(0) win 65535 <mss 1460>

10:51:23.750271 IP (tos 0x10, ttl 60, id 45768, offset 0, flags [DF], length:44) yytlc.50162 > 192.168.15.14.ms-sql-s: S [tcp sum ok]616881461:616881461(0) win 65535 <mss 1460>

10:51:29.943904 IP (tos 0x10, ttl 60, id 45971, offset 0, flags [none], length:44) yytlc.50162 > 192.168.15.14.ms-sql-s: S [tcp sum ok]616881461:616881461(0) win 65535 <mss 1460>

10:51:42.045897 IP (tos 0x10, ttl 60, id 46849, offset 0, flags [none], length:44) yytlc.50162 > 192.168.15.14.ms-sql-s: S [tcp sum ok]616881461:616881461(0) win 65535 <mss 1460>

14309 23.459236000 192.168.1.219 192.168.15.14 TCP 60 50162 > ms-sql-s [SYN] Seq=0 Win=65535Len=0 MSS=1460

14310 23.459330000 192.168.15.14 192.168.1.219 TCP 58 ms-sql-s > 50162 [SYN, ACK] Seq=0 Ack=1Win=8192 Len=0 MSS=1460

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2013-11/93200p2.htm

Copyright © Linux教程網 All Rights Reserved