KING 博主等级

一帆风顺 ⛵️⛵️⛵️

tcpdump 命令专用于监控网络抓包工具

钟晓川
2024-09-23 / 0 点赞 / 203 阅读

tcpdump 命令专用于监控网络抓包工具,允许用户拦截和显示发送或收到过网络连接到该计算机的 TCP/IP 和其他数据包。

tcpdump 命令安装

-bash/zsh: tcpdump: command not found
 
# Windows (WSL2)
sudo apt-get update sudo apt-get install tcpdump
 
# Debian
apt-get install tcpdump
 
# Ubuntu
apt-get install tcpdump
 
# Alpine
apk add tcpdump
 
# Arch Linux
pacman -S tcpdump
 
# Kali Linux
apt-get install tcpdump
 
# CentOS
yum install tcpdump
 
# Fedora
dnf install tcpdump
 
# OS X
brew install tcpdump

tcpdump 是强大的命令行数据包分析器;tcpdump 打印出网络接口上与布尔表达式匹配的数据包内容的描述(有关表达式语法,请参阅 pcap-filter); 描述前面有一个时间戳,默认打印为小时、分钟、秒和自午夜以来的秒数。 它还可以使用 -w 标志运行,这会导致它将数据包数据保存到文件中以供以后分析,或使用 -r 标志运行,这会导致它从保存的数据包文件中读取而不是读取数据包从网络接口。 它还可以使用 -V 标志运行,这会导致它读取已保存的数据包文件的列表。

在所有情况下,tcpdump 只会处理与表达式匹配的数据包。

tcpdump 命令和语法

tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ]
         [ -c count ] [ --count ] [ -C file_size ]
         [ -E spi@ipaddr algo:secret,... ]
         [ -F file ] [ -G rotate_seconds ] [ -i interface ]
         [ --immediate-mode ] [ -j tstamp_type ] [ -m module ]
         [ -M secret ] [ --number ] [ --print ]
         [ --print-sampling nth ] [ -Q in|out|inout ] [ -r file ]
         [ -s snaplen ] [ -T type ] [ --version ] [ -V file ]
         [ -w file ] [ -W filecount ] [ -y datalinktype ]
         [ -z postrotate-command ] [ -Z user ]
         [ --time-stamp-precision=tstamp_precision ]
         [ --micro ] [ --nano ]
         [ expression ]

命令实例

tcpdump 列出可用的网络接口

tcpdump -D
1.ens160 [Up, Running, Connected]
2.br-f93bf9a73f1e [Up, Running, Connected]
3.veth82d00f7 [Up, Running, Connected]
4.vethec80bd9 [Up, Running, Connected]
5.veth5d3247b [Up, Running, Connected]
6.any (Pseudo-device that captures on all interfaces) [Up, Running]
7.lo [Up, Running, Loopback]
8.docker0 [Up, Disconnected]
9.br-8df9e8d3807a [Up, Disconnected]
10.bluetooth-monitor (Bluetooth Linux Monitor) [Wireless]
11.usbmon2 (Raw USB traffic, bus number 2)
12.usbmon1 (Raw USB traffic, bus number 1)
13.usbmon0 (Raw USB traffic, all USB buses) [none]
14.nflog (Linux netfilter log (NFLOG) interface) [none]
15.nfqueue (Linux netfilter queue (NFQUEUE) interface) [none]

捕获特定接口的流量

tcpdump -i ens160

捕获在控制台中显示内容 (ASCII) 的所有 TCP 流量

tcpdump -A tcp

捕获来自或到主机的流量

tcpdump host www.example.com

捕获来自特定接口、源、目标和目标端口的流量

tcpdump -i eth0 src 192.168.1.1 and dst 192.168.1.2 and dst port 80

捕获来自特定端口和目标端口的流量并保存导文件中

tcpdump -i lo port 12201 -w a.acpa

捕获除端口 22 上的流量之外的所有流量并保存到转储文件中

tcpdump -w dumpfile.pcap port not 22

从给定的转储文件中读取

tcpdump -r a.acpa

https://commandnotfound.cn/linux/1/676/tcpdump-%E5%91%BD%E4%BB%A4

0