tcpdump
是一个Linux
的网络抓包工具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP
和其他数据包。tcpdump 适用于大多数的类Unix系统操作系统,如路由器、debian、centos等均可安装。
安装
若系统没有安装此工具,我们可以执行下面命令进行安装。
yum install tcpdump
查看帮助
tcpdump -h
参数说明
-c
指定要抓取的包数量,-c 10
将获取10个包。-i
interface:指定tcpdump需要监听的接口。-n
对地址以数字方式显式,否则显式为主机名。-nn
除了-n
的作用外,还把端口显示为数值,否则显示端口服务名。-P
:指定要抓取的包是流入还是流出的包。可以给定的值为in
、out
和inout
(默认)-r
从给定的数据包文件中读取数据。
默认情况下,我们可以直接执行命令tcpdump
。这样便可以抓取所有通过本机的流量了。
列出可以抓包的网络接口
我们可以用ifconfig
或者下面命令,查看可用的网络设备。
tcpdump -D
抓取指定网卡的数据包
tcpdump -i ens33
抓取指定IP的数据包
tcpdump -c 10 net 192.168.123.46
抓取ping包
tcpdump -c 5 -nn -i br0 icmp
抓取到本机22端口包
tcpdump -c 2 -q -XX -vvv -nn -i bond0 tcp dst port 22
保存数据包
tcpdump
提供了保存抓包数据的功能以便后续分析数据包,也可以利用wireshark
等图形化工具进行分析。
tcpdump -i br0 -c 100 -nn -w kali.pcap port 22
打开保存的数据包
tcpdump -nn -r kali.pcap