tcpdump使用教程

Tcpdump

在这里插入图片描述
在这里插入图片描述

Expression是一个布尔表达式,即过滤器,表达式为真时才捕捉处理该数据包
在这里插入图片描述

通常,如果表达式包含Shell元字符,例如用于转义的反斜杠,则将expression用单引号括起来比转义Shell元字符更容易。
参数用空格连接,如host 1.2.3.4。

host: 过滤某个主机的数据报文
$ tcpdump host 1.2.3.4

src, dst: 过滤源地址和目的地址
$ tcpdump src 2.3.4.5$ tcpdump dst 3.4.5.6

net: 过滤某个网段的数据,CIDR 模式
$ tcpdump net 1.2.3.0/24

proto: 过滤某个协议的数据,支持 tcp, udp 和 icmp。使用的时候可以省略 proto 关键字。
$ tcpdump icmp

port: 过滤通过某个端口的数据包
$ tcpdump port 3389

过滤的真正强大之处在于你可以随意组合它们,而连接它们的逻辑就是常用的 与/AND/&& 、 或/OR/|| 和 非/not/!。
源地址是 10.5.2.3,目的端口是 3389 的数据包
$ tcpdump -nnvS src 10.5.2.3 and dst port 3389

从 192.168 网段到 10 或者 172.16 网段的数据包
$ tcpdump -nvX src net 192.168.0.0/16 and dat net 10.0.0.0/8 or 172.16.0.0/16

此外还有指定端口和数据报文大小范围的过滤器:
port 范围
$ tcpdump portrange 21-23

数据包大小,单位是字节
$ tcpdump less 32$ tcpdump greater 128$ tcpdump > 32$ tcpdump <= 128

对于比较复杂的过滤器表达式,为了逻辑的清晰,可以使用括号。不过默认情况下,tcpdump 把 () 当做特殊的字符,所以必须使用单引号 ’ 来消除歧义:
$ tcpdump -nvv -c 20 ‘src 10.0.2.4 and (dat port 3389 or 22)’

过于过滤器的更多详细信息,请访问 tcpdump 官方 map page 的 PCAP-FILTER 部分。

w参数,把数据包保持到文件中
在这里插入图片描述

NOTE:保存到文件的数据不是屏幕上看到的文件信息,而是包含了额外信息的固定格式 pcap,需要特殊的软件来查看,使用 vim 或者 cat 命令会出现乱码。

r参数,从文件中读取数据包
在这里插入图片描述

V参数,从一些文件中读取数据包
在这里插入图片描述

需要注意的是,tcpdump 默认只会截取前 96 字节的内容,要想截取所有的报文内容,可以使用 -s number, number 就是你要截取的报文字节数,如果是 0 的话,表示截取报文全部内容。
在这里插入图片描述

-S 显示绝对的序列号(sequence number),而不是相对编号。
在这里插入图片描述

在这里插入图片描述
默认一直抓包,使用c参数则只捕获n个包
在这里插入图片描述

在这里插入图片描述
捕捉结束之后,报告捕获的包数目、通过过滤器的包数目、被内核丢弃的包(因为buffer空间不够大导致的丢包)
使用B参数可以配置buffer大小
在这里插入图片描述

n参数不要解析域名和端口,直接显示 ip。
在这里插入图片描述

i参数,指定监听的端口,-i any用来监听所有端口
在这里插入图片描述
只使用 ascii 打印报文的全部数据,不要和 -X 一起使用。截取 http 请求的时候可以用 sudo tcpdump -nSA port 80!
在这里插入图片描述

-v, -vv, -vvv:显示更多的详细信息。
在这里插入图片描述

x参数,出来打印数据包的header信息,还把报文内容使用hex格式来输出
xx参数,同 -x,但同时显示以太网头部。
X参数,同时用 hex 和 ascii 显示报文的内容。
同 -X,但同时显示以太网头部。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值