分享

tcpdump使用小结

 青松卓然 2012-09-04

tcpdump使用小结

分类: linux环境编程 23人阅读 评论(0) 收藏 举报

Tcpdump的常用选项

-a 尝试将网络和广播地址转换成名称。

-c数据包数目收到指定的数据包数目後,就停止进行倾倒操作。

-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。

-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。

-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。

-e 在每列倾倒资料上显示连接层级的文件头。

-f 用数字显示网际网络地址。

-F表达文件指定内含表达方式的文件。

-i网络界面使用指定的网络截面送出数据包。

-l 使用标准输出列的缓冲区。

-n 不把主机的网络地址转换成名字。

-N 不列出域名。

-O 不将数据包编码最佳化。

-p 不让网络界面进入混杂模式。

-q 快速输出,仅列出少数的传输协议信息。

-r数据包文件从指定的文件读取数据包数据。

-s数据包大小设置每个数据包的大小。

-S 用绝对而非相对数值列出TCP关联数。

-t 在每列倾倒资料上不显示时间戳记。

-tt 在每列倾倒资料上显示未经格式化的时间戳记。

-T数据包类型强制将表达方式所指定的数据包转译成设置的数据包类型。

-v 详细显示指令执行过程。

-vv 更详细显示指令执行过程。

-x 用十六进制字码列出数据包资料。

-w数据包文件把数据包数据写入指定的文件。

表达式常用关键字

host:指明主机,比如host 192.168.0.5

net:指明网络地址,比如net 192.0.0.0

port:指明端口, 比如port 5555

src:指明来源,如src 192.168.5.23

dst:指明目的,如dst 192.168.34.2

ip:监听ip

tcp:监听tcp

udp:监听udp

arp:监听arp请求包

rarp:监听rarp请求包

可以把这些选项进行不同的组合来达到想要的监听结果,当然还包括 gatewaybroadcastlessgreater等模式,以及把不同的选项通过andor,  not进行连接,如‘tcp dst port ftp or ftp-data or domain’。

监听指定网络接口的数据包

# tcpdump -i eth0

监听指定源ip和端口的数据包

# tcpdump -i eth0 -nn 'port 52733 and src host 192.168.153.1'

监听指定源ip和目的ip的数据包

#tcpdump 'src host 192.168.153.1 and dst host 192.168.153.129'

监听指定协议的数据包

#tcpdump ip 或者tcpdump tcp 或者tcpdump udp

分别查看iptcpudp的数据包

各种表达式的组合

打印TCP会话中的的开始和结束数据包并且数据包的源或目的不是本地网络上的主机.(nt: localnet, 实际使用时要真正替换成本地网络的名字)) 

#tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'

打印所有源或目的端口是80, 网络层协议为IPv4, 并且含有数据,而不是SYN,FIN以及ACK-only等不含数据的数据包 

#tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2))-((tcp[12]&0xf0)>>2)) != 0)'

抓取http

#tcpdump  -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854

0x4745 "GET"前两个字母"GE",0x4854 "HTTP"前两个字母"HT"

#tcpdump  -XvvennSs 0 -i eth0 tcp[20:2]=0x504f or tcp[20:2]=0x4854 

0x504f 为“POST”前两个字母“PO

输出信息解释

 arp包输出信息

在本机上输入arp,通过#tcpdump arp监听

08:21:32是时间戳,494240ID号,arp表明是arp请求包,who-has 192.168.153.2 tell 192.168.153.129表示主机192.168.153.129请求主机192.168.153.2MAC地址,00:50:56:fe:c8:34mac地址。

 tcp包输出信息

src >; dst: flags data-seqno ack window urgent options 

src > dst表明从源地址到目的地址,flagtcp包中的标志信息,SSYN标志,F(FIN)P(PUSH)R(RST)"."(没有标记),data-seqno是数据包中的数据的顺序号,ack是下次期望的顺序号,win是接受缓存的窗口大小,urgent表明数据包中是否有紧急指针。

 udp包输出信息

src.port1 >; dst.port2: udp length 

表明从主机srcport1端口发出的一个UDP数据包到主机dstport2端口,类型是udp,包长度是length

 数据链路层头信息

#tcpdump -e host 192.168.153.129

09:01:54.677404 00:0c:29:ab:74:47 (oui Unknown) > 00:50:56:c0:00:08 (oui Unknown), ethertype IPv4 (0x0800), length 298: 192.168.153.129.ssh > 192.168.153.1.54243: P 804264:804508(244) ack 817 win 131

09:01:54.677431 00:0c:29:ab:74:47 (oui Unknown) > 00:50:56:c0:00:08 (oui Unknown), ethertype IPv4 (0x0800), length 298: 192.168.153.129.ssh > 192.168.153.1.54243: P 804508:804752(244) ack 817 win 131

09:01:54.677635 00:50:56:c0:00:08 (oui Unknown) > 00:0c:29:ab:74:47 (oui Unknown), ethertype IPv4 (0x0800), length 60: 192.168.153.1.54243 > 192.168.153.129.ssh: . ack 801336 win 156

09:01:54.677636 00:50:56:c0:00:08 (oui Unknown) > 00:0c:29:ab:74:47 (oui Unknown), ethertype IPv4 (0x0800), length 60: 192.168.153.1.54243 > 192.168.153.129.ssh: . ack 801824 win 154

说明:09:01:54是时间戳,677404ID号,00:0c:29:ab:74:47是发送数据包的网络接口的mac地址,00:50:56:c0:00:08是接受数据包的网络接口的mac地址,IPv4表明是IPv4协议,数据包长度是298PPUSHack是下次期望的顺序号,win是接受缓存的窗口大小。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多