tcpdump 使用方法
***** tcpdump是 Linux 系统提供一个非常强大的抓包工具。
centos 安装:
sudo yum install tcpdump
ubuntu 安装:
sudo apt-get install tcpdump
如果要使用 tcpdump 命令必须具有 sudo 权限\或者切换到root 用户下去执行。
****** tcpdump常用的选项有:
-i 指定要捕获的目标网卡名,网卡名可以使用前面章节中介绍的 ifconfig 命令获得;如果要抓所有网卡的上的包,可以使用 any 关键字。## 抓取网卡ens33上的包tcpdump -i ens33## 抓取所有网卡上的包tcpdump -i any
-X 以 ASCII 和十六进制的形式输出捕获的数据包内容,减去链路层的包头信息;
-XX 以 ASCII 和十六进制的形式输出捕获的数据包内容,包括链路层的包头信息。
-n 不要将 ip 地址显示成别名的形式;
-nn 不要将 ip 地址和端口以别名的形式显示。
-S 以绝对值显示包的 ISN 号(包序列号),默认以上一包的偏移量显示。
-vv 抓包的信息详细地显示;
-vvv 抓包的信息更详细地显示。
-w 将抓取的包的原始信息(不解析,也不输出)写入文件中,后跟文件名:tcpdump -i any -w 文件名称
-r 从利用 -w 选项保存的包文件中读取数据包信息。除了可以使用选项以外,tcpdump 还支持各种数据包过滤的表达式,常见的形式如下:
## 仅显示经过端口 8888 上的数据包(包括tcp:8888和udp:8888)tcpdump -i any 'port 8888'
## 仅显示经过端口是 tcp:8888 上的数据包tcpdump -i any 'tcp port 8888'
## 仅显示从源端口是 tcp:8888 的数据包tcpdump -i any 'tcp src port 8888'
## 仅显示源端口是 tcp:8888 或目标端口是 udp:9999 的包 tcpdump -i any 'tcp src port 8888 or udp dst port 9999'## 仅显示地址是127.0.0.1 且源端口是 tcp:9999 的包 ,以 ASCII 和十六进制显示详细输出,
## 不显示 ip 地址和端口号的别名tcpdump -i any 'src host 127.0.0.1 and tcp src port 9999' -XX -nn -vv
-t:在每行的输出中不输出时间
-tt:在每行的输出中会输出时间戳
-ttt:输出每两行打印的时间间隔(以毫秒为单位)
-tttt:在每行打印的时间戳之前添加日期的打印(此种选项,输出的时间最直观)
***** 使用抓包
打开两个会话窗口,A 会话窗口执行抓包等待命令
tcpdump -i any 'port 80' -nn -vv
B 会话窗口执行请求百度的命令:
切换到A窗口查看抓包信息:
以下信息 包含了 tcp 的三次握手与四次挥手
输出格式说明:
从上面的输出来看,可以总结出:
第一列:时分秒毫秒 21:26:49.013621
第二列:网络协议 IP
第三列:发送方的ip地址+端口号,其中172.20.20.1是 ip,而15605 是端口号
第四列:箭头 >, 表示数据流向
第五列:接收方的ip地址+端口号,其中 172.20.20.2 是 ip,而5920 是端口号
第六列:冒号
第七列:数据包内容,包括Flags 标识符,seq 号,ack 号,win 窗口,数据长度 length,其中 [P.] 表示 PUSH 标志位为 1,
更多标识符见下面 Flags 标识符
使用 tcpdump 抓包后,会遇到的 TCP 报文 Flags,有以下几种:
[S] : SYN(开始连接)
[P] : PSH(推送数据)
[F] : FIN (结束连接)
[R] : RST(重置连接)
[.] : 没有 Flag,由于除了 SYN 包外所有的数据包都有ACK,所以一般这个标志也可表示 ACK
********* 将 tcpdump抓包保存在文件中,再用tcpdump打开文件
A会话窗口执行以下命令:
tcpdump -i any 'port 80' -XX -nn -vv -w 1.pcap
B 会话窗口执行请求百度的命令:
A会话窗口执行如下Ctrl+c 结束tcpdump 抓包
A会话窗口使用tcpdump 打开1.pcap 文件:
# tcpdump -XXtttnnr 1.pcap
或
# tcpdump -tttnnr 1.pcap
文章参考:
https://www.cnblogs.com/chenpingzhao/p/9108570.html
https://baijiahao.baidu.com/s?id=1671144485218215170&wfr=spider&for=pc
https://baijiahao.baidu.com/s?id=1684480257066370010&wfr=spider&for=pc