tcpdump使用实例

2015年3月12日17:18:30 1 7,187

tcpdump能帮助我们捕捉并保存网络包,保存下来的网络包可用于分析网络负载情况,包可通过tcpdump命令解析,也可以保存成后缀为pcap的文件,使用wireshark等软件进行查看。 以下将给出9个使用tcpdump的例子,以说明tcpdump的具体使用方法。

1.针对特定网口抓包  -i选项

当我们不加任何选项执行tcpdump时,tcpdump将抓取通过所有网口的包;使用-i选项,我们可以在某个指定的网口抓包:

# tcpdump -i eth0

以上例子中,tcpdump抓取所有通过eth0的包。

2.抓取指定数目的包  -c选项

默认情况下tcpdump将一直抓包,直到按下”ctrl+c”中止,使用-c选项我们可以指定抓包的数量:

# tcpdump -c 2 -i eth0

以上例子中,只针对eth0网口抓2个包。

3.将抓到包写入文件中  -w选项

使用-w选项,我们可将抓包记录到一个指定文件中,以供后续分析

# tcpdump -w 20120606.pcap -i eth0

应当保存为.pcap后缀的文件,方便我们使用wireshark等工具读取分析。

4.读取tcpdump保存文件  -r选项

对于保存的抓包文件,我们可以使用-r选项进行读取:

# tcpdump -r 20120606.pcap

5.抓包时不进行域名解析  -n选项

默认情况下,tcpdump抓包结果中将进行域名解析,显示的是域名地址而非ip地址,使用-n选项,可指定显示ip地址。

6.增加抓包时间戳  -tttt

选项使用-tttt选项,抓包结果中将包含抓包日期:

# tcpdump -n -tttt -i eth0

7.指定抓包的协议类型

我们可以只抓某种协议的包,tcpdump支持指定以下协议:ip,ip6,arp,tcp,udp,wlan等。

以下例子只抓取arp协议的包:

# tcpdump -i eth0 arp

8.指定抓包端口

如果想要对某个特定的端口抓包,可以通过以下命令:

# tcpdump -i eth0 port 22

9.抓取特定目标ip和端口的包

网络包的内容中,包含了源ip地址、端口和目标ip、端口,我们可以根据目标ip和端口过滤tcpdump抓包结果,以下命令说明了此用法:

# tcpdump -i eth0 dst 10.70.121.92 and port 22

10.抓取ping发送的特定大小数据包

# ping 192.168.1.2 -s 800

# tcpdump -i any icmp and greater 800
weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • avatar 上海app开发 0

      学习 感谢分享