TCPDUMP——抓包、筛选、高级筛选

https://wiki.wireshark.org/SampleCaptures/ 下载各种网络包的示例

TCPDUMP——抓包

抓包 

  •  默认之抓包68个字节  
  •  tcpdump -i eth0 -s 0 -w file.pcap
  •  Tcpdump -i eth0 port 22

读取抓包文件

  •  Tcpdump -r file.pcap

 实际操作:

  • 查看参数:tcpdump -h

 常用: tcpdump -i eth0 -s 0 -w a.acp
 -i eth0: 用eth0 接口进行抓包; -s 0:表示包有多大,抓取的数据多大; -w a.cap 表示存取到 a.cap 文件中

接着Ping 8.8.8.8 然后停止抓包 可以看到抓了12057个包

接着使用tcpdump -r a.acp 查看抓包的内容

-r 只是显示摘要信息,如果想要看详细信息可以使用 tcpdump -A -r a.acp  使用Ascll显示 

 

也可以使用 tcpdump -X -r a.acp 使用十六进制显示

如果想要抓某一端口的包可以使用  Tcpdump -i eth0 port <端口号>

TCPDUMP——筛选

  • tcpdump -n -r http.cap | wak'{print$3}'|sort -u
  • tcpdump -n src host 145.254.160.237 -r http.cap
  • tcpdump -n dst host 145.254.160.237 -r http.cap
  • tcpdump -n port 53 -r http.cap
  • tcpdump -n  -X  port 80 -r http.cap

 以 http.cap为例 (实验文件可以在文章开头的链接下载)

首先使用tcpdump -n -r  http.cap  抓取所有的

然后抓取 http.cap 第三列的信息 tcpdump -n -r http.cap | awk '{print $3}'

里面显示的信息有重复的Ip 以及端口号,可以添加 sort -u

其实 tcpdump 提供了显示筛选功能
比如 tcpdump -n src host 145.254.160.237 -r http.cap  只显示源IP:145.254.160.237

以及只显示 目标IP为 145.254.160.237

查看 53端口 tcpdump -n port 53 -r http.cap 
或者查看 udp 53 端口  tcpdump -n udp port 53 -r http.cap 

以十六进制的显示 tcpdump -n -X port 53 -r http.cap

左边为十六进制  右边为 Ascll编码
tips: tcpdump -n -X port 80 -r http.cap    小写的 x 不显示 Ascll编码

TCPDUMP——高级筛选

  • tcpdump -A -n 'tcp[13]=24' -r http.cap

 显示tcp 13号字节,第14个字节换算成十进制为24 的包 显示出来

第一个包

第二个包

基于特性可以筛选包中任何位置 任何数值的包

 


版权声明:本文为suiyideali原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。