`tcpdump` 是一个强大的网络抓包工具,用于捕获和分析网络上的数据包。以下是一些常用的 `tcpdump` 命令示例和选项说明:
列出所有可用的网络接口
```bash
sudo tcpdump -D
```
监听所有网络接口并捕获数据包
```bash
sudo tcpdump -i any
```
监听特定网络接口(如 `eth0`)并捕获数据包
```bash
sudo tcpdump -i eth0
```
捕获指定数量的数据包(如 10 个)
```bash
sudo tcpdump -i any -c 10
```
将捕获的数据包写入文件
```bash
sudo tcpdump -i any -w capture.pcap
```
从文件读取数据包
```bash
sudo tcpdump -r capture.pcap
```
监听特定端口(如 80 端口)并捕获数据包
```bash
sudo tcpdump -i any -w capture.pcap port 80
```
过滤特定主机的数据包
```bash
sudo tcpdump host 192.168.1.100
```
过滤特定协议的数据包
```bash
sudo tcpdump tcp port 80
```
过滤特定源和目标地址的数据包
```bash
sudo tcpdump src host 192.168.1.100 and dst host 192.168.1.200
```
以 ASCII 格式打印数据包
```bash
sudo tcpdump -A
```
设置数据包抓取长度
```bash
sudo tcpdump -s 65535
```
不打印主机域名部分
```bash
sudo tcpdump -n
```
显示协议头和包的全部内容
```bash
sudo tcpdump -X
```
这些命令和选项可以根据具体需求进行组合,以实现精确的数据包捕获和分析。建议在实际使用中根据具体场景选择合适的命令和选项。