目录
tcpdump抓包工具
访问量:5280
一、简介
tcpdump命令,是一个网络数据包截取和分析工具,可以将网络中传送的数据包的“头”完全截获下来,且tcpdump可以针对网络层、协议、主机、网络或端口进行过滤操作,同时还提供了and、or、not等逻辑语句来实现组合过滤操作。
二、语法
tcpdump [选项] [参数]
三、常用选项
-a 尝试将网络地址和广播地址转换为名称 -A 以 ASCII 显示每个信息包(去掉它的链接级别的头)。方便捕获 Web 页面。 -B buffer_size 指示缓冲区大小(以千字节计)。将接受较小的值。如果缓冲区大小小于 BPF 设置的最低值,那么将忽略实际缓冲区大小并使用伯克利数据包过滤器 (BPF) 设置的值。如果未指定 -B 选项,那么缓冲区大小缺省为 32,768。 -c 在接收 Count 信息包后退出。 -C file_size 在将原始信息包写入 savefile 之前,检查文件当前是否大于 file_size,如果确实如此,那么关闭当前的 savefile 并打开新的 savefile。第一个 savefile 之后的 savefile 拥有使用 -w 标志指定的名称,名称后带有从 2 开始并连续递增的数字。file_size 的单元以百万字节为单位(1,000,000 字节,而不是 1,048,576 字节)。 -d 将编译过的信息包匹配代码转储至标准输出,然后停止。 -D 显示系统上可用、并且 tcpdump 可以在其中捕获信息包的网络接口的列表。显示每个网络接口的数字和接口名称(可能带有此接口的文本描述)。接口名称或数字可以提供给 -i 标志以指定在其上进行捕获的接口。 -dd 将信息包匹配代码作为 C 程序片段进行转储。 -ddd 将信息包匹配代码作为十进制数进行转储(添加在某个计数前面)。 -e 在每一转储行上显示链接级别标题。 -i <网络界面>:使用指定的网络截面送出数据包; -F file 使用 file 作为过滤表达式的输入。忽略了命令行上给出的其他表达式。 -T 强制使用指定类型解释 expression 选择的信息包。当前已知的类型有 cnfp(Cisco 网络流量协议)、rpc(远程过程调用)、rtp(实时应用协议)、rtcp(实时应用控制协议)、snmp(简单网络管理协议)、tftp(次要文件传输协议)、vat(可视音频工具)、和 wb(分布式白板)。 -t 在每一转储行上省略时间戳记显示。 -tt 在每一转储行上显示未格式化的时间戳记。 -ttt 在每一转储行上显示当前行和先前行之间的变化量(以微秒为单位)。 -tttt 在每一转储行上显示前面带有日期的缺省格式的时间戳记。 -ttttt 在每一转储行上显示当前行和第一行之间的变化量(以微秒为单位)。 -u 显示未译码的 NFS 句柄。
四、案例
1、监视指定网络接口的数据包
即监听指定网卡的数据包,若不指定网卡,默认tcpdump只会监视第一个网络接口。如监听 eth0网卡,如下:
tcpdump -i eth0
2、监视指定主机或ip的数据包
格式如下:
tcpdump host hostOrIp
如监听 www.findme.wang 的数据包:
tcpdump host www.findme.wang
这会把和 www.findme.wang 之间来往的所有数据包都抓取到,包含出和入的包。
3、监视指定来源的数据包
格式如下:
tcpdump src host hostOrIp
如下:
tcpdump src host www.findme.wang
上面命令,会抓取来自“www.findme.wang”的所有数据包。
4、监视指定目的地的数据包
格式如下:
tcpdump dst host hostOrIp
如下:
tcpdump dst host www.findme.wang
上面命令,会抓取发给“www.findme.wang”的所有数据包。
5、监视指定端口号的数据包
格式如下:
tcpdump port 8080
6、监视指定传输层协议的数据包
如,监听tcp数据包如下:
tcpdump tcp
如,监听udp数据包如下:
tcpdump udp
7、使用多条件进行过滤
tcpdump支持使用and、or、not来过滤抓取的数据包。比如,监听来自于www.findme.wang的80端口数据包,如下:
tcpdump src host www.findme.wang and port 80
8、设置抓取的数据包个数
tcpdump -c 3
抓取3个数据包就退出。
本文为原创文章,请尊重辛勤劳动,如需转载,请保留本文地址
若您感觉本站文章不错,读后有收获,不妨赞助一下?
我要赞助