Tcpdump

来自linux中国网wiki
跳到导航 跳到搜索

tcpdump

简介
用简单的话来定义tcpdump,就是:dump  traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

Usage:  

-i interface
-i  any,这个参数是监控所有的网络端口

host IP,监控指定IP的所有协议的数据包。
-w 保存文件名
-s 包切片长度
-c 抓的包的数量。

tcpdump密码嗅探

在ftp server 监听 网卡eth0 上的 21 端口

 tcpdump -i eth1 -nn -X 'port 21'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes


在client login

然后回来就可以看到了

10:54:16.357663 IP 192.168.10.225.41624 > 192.168.30.56.21: Flags [P.], seq 21:31, ack 97, win 229, options [nop,nop,TS val 90850575 ecr 2797412999], length 10
	0x0000:  4500 003e f19b 4000 3f06 9fb4 c0a8 0ae1  E..>..@.?.......
	0x0010:  c0a8 1e38 a298 0015 df4f e322 519f d76e  ...8.....O."Q..n
	0x0020:  8018 00e5 ece9 0000 0101 080a 056a 450f  .............jE.
	0x0030:  a6bd 2287 5553 4552 2066 7470 0d0a       ..".USER.ftp..


10:54:16.358016 IP 192.168.10.225.41624 > 192.168.30.56.21: Flags [P.], seq 31:48, ack 131, win 229, options [nop,nop,TS val 90850575 ecr 2797412999], length 17
	0x0000:  4500 0045 f19c 4000 3f06 9fac c0a8 0ae1  E..E..@.?.......
	0x0010:  c0a8 1e38 a298 0015 df4f e32c 519f d790  ...8.....O.,Q...
	0x0020:  8018 00e5 dc39 0000 0101 080a 056a 450f  .....9.......jE.
	0x0030:  a6bd 2287 5041 5353 2065 7661 6e32 3233  ..".PASS.evan223
	0x0040:  3335 350d 0a                             355..

可见 可见 ftp软件为 vsftp , ftp 用户 为 ftp 密码为 evan223355

例子

#自动生成分析文件  起因 连接 qq的相关业务老是timeout
tcpdump  host  domain  -w tcp 


抓取所有经过eth1,目的或源地址是192.168.1.1的网络数据
tcpdump -i eth1 host 192.168.1.1

指定源地址
tcpdump -i eth1 src host 192.168.1.1

指定目的地址
tcpdump -i eth1 dst host 192.168.1.1

参考

大话tcpdump

Linux tcpdump命令详解

tcpdump使用技巧

KeepAlive详解

tcpdump密码嗅探

TCP协议中的三次握手和四次挥手(图解)