tcpdump 命令抓包使用简介

目录

命令简介

常用命令

综合示例


参考链接:https://man.linuxde.net/tcpdump

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

命令简介

tcpdump命令是一款sniffer工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后分析。

一般安装 Linux 都会自带 tcpdump 命令,但是通常都需要 root 权限才能执行

tcpdump 的语法格式:

tcpdump [选项]

常用选项:

-a:尝试将网络和广播地址转换成名称;
-c<数据包数目>:收到指定的数据包数目后,就停止进行倾倒操作;
-d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出;
-dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出;
-ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出;
-e:在每列倾倒资料上显示连接层级的文件头;
-f:用数字显示网际网络地址;
-F<表达文件>:指定内含表达方式的文件;
-i<网络界面>:使用指定的网络截面送出数据包;
-l:使用标准输出列的缓冲区;
-n:不把主机的网络地址转换成名字;
-N:不列出域名;
-O:不将数据包编码最佳化;
-p:不让网络界面进入混杂模式;
-q :快速输出,仅列出少数的传输协议信息;
-r <数据包文件>:从指定的文件读取数据包数据;
-s <数据包大小>:设置每个数据包的大小;
-S:用绝对而非相对数值列出TCP关联数;
-t:在每列倾倒资料上不显示时间戳记;
-tt: 在每列倾倒资料上显示未经格式化的时间戳记;
-T<数据包类型>:强制将表达方式所指定的数据包转译成设置的数据包类型;
-v:详细显示指令执行过程;
-vv:更详细显示指令执行过程;
-x:用十六进制字码列出数据包资料;
-w <数据包文件>:把数据包数据写入指定的文件。

常用命令

  • 抓取指定IP发出和接收到的包
tcpdump host 210.27.48.1
  • 抓取指定端口的包
tcpdump port 80
  • 抓取指定协议的包
tcpdump tcp
  • 将抓取到的包保存成文件
tcpdump ip host 11.24.225.206 -w log.cap

** .cap 是文件类型,这种类型的文件可以用 Wireshark 方便地进行解析

如果想要快速查看 log.cap 中的内容,可以使用 strings log.cap 命令来查看

  • 限定来源和目的地址
tcpdump src host 192.168.1.101
tcpdump dst host 192.168.1.101
  • 限制抓包个数
tcpdump -c 1000
  • and/or 组合多个限制条件
tcpdump ip host 192.168.1.102 and 192.168.1.103  // 查询两个主机之间的通信 

tcpdump src 192.168.122.98 and port 80  // 同时限定IP和端口

tcpdump port 443 and "(src 192.168.122.98 or src 106.11.31.214)"

综合示例

tcpdump port 443 and "(src 192.168.122.98 or src 106.11.31.214)" -c 100 -w log.cap

 

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