Tcpdump的用法及使用案例

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.heiqu.com/18960.html