tcpdump学习

https://www.tcpdump.org/manpages/tcpdump.1.html 

https://www.cnblogs.com/chenpingzhao/p/9108570.html

https://blog.csdn.net/chinaltx/article/details/87469933

常用选项:

-i :指定网卡,就是要抓哪个网卡的包

-c:指定抓取报文数量,抓到这么多包后,tcpdump就会停止;

-w:保存抓取的报文到文件

-r:读取保存的报文

-A:以ascii码形式显示报文内容

-X:以十六进制和ascii码形式显示报文内容

-v:

-vv:

-vvv:这三个输出的详细信息递增。

-e:输出数据链路层的头部信息 ;

-s:抓取每个分组中最开始的n个字节,而不是默认的262144字节。-s 0表示抓取报文完整内容。

-n:不把地址(例如IP地址,端口号)等转换为对应的名字

-nn:感觉和-n差不多,官网上没有说-nn

-t:不输出时间戳

-l:将tcpdump的输出变为“行缓冲”方式,可以确保tcpdump一旦遇到换行符,就立即将缓冲的内容输出到标准输出,便于利用管道或重定向的方式进行后续处理。

-A -X对比

默认:

使用-A选项:

使用-X选项:

-v、-vv、-vvv:

-e:输出数据链路层的头部信息

第一句是一个提示信息,告诉你使用-v或者-vv选项查看更详细的信息。

第二句表示要抓的包的最大长度为262144字节,超过这个长度,只抓这么长的。

-t选项:

-l:选项

tcpdump -i ens33 -l | awk '{print $1}'

这个-l选项感觉不好使,没有一行一行输出呀。

简单的过滤:

1. 根据IP过滤

host表示主机

源IP:src host ip_addr

目的IP:dst host ip_addr

IP:host ip_addr

2.根据网段过滤

dst net addr      src net addr       net addr

 3. 根据协议过滤

4. 根据端口过滤

src port portnumber      dst port portnumber    port portnumber

5. 更多高级过滤方法以后用到再记。

我 这个报文长度怎么只有40?

-X 16进制查看,类似wireshark显示结果。

 

 -A ascii码形式查看,

抓包筛选器:

抓包时要加过滤条件的话,直接在后面跟着写就可以了。

显示筛选器:

-n:不对ip地址进行解析成域名

根据源IP,目的IP,端口号进行筛选。

根据TCP报文头内容进行筛选,上面的例子就是筛选ACK,PSH为1的TCP报文。tcp[13]=24表示tcp头部第14个字节值为24,对应ACK,PSH位为1,表示tcp内容报文,去掉了,TCP建立时候的交互报文。记得使用单引号''括起来,不是反引号``括起来。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章