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

 

 

 

posted @ 2022-03-27 21:56  雪域蓝心  阅读(739)  评论(0编辑  收藏  举报