tcpdump 抓包过滤示例
时间: 2023-10-06 17:14:53 浏览: 91
以下是几个常用的 tcpdump 抓包过滤示例:
1. 抓取特定 IP 地址的数据包:
```
sudo tcpdump host 192.168.1.100
```
2. 抓取特定端口的数据包:
```
sudo tcpdump port 80
```
3. 抓取特定协议的数据包:
```
sudo tcpdump icmp
```
4. 抓取来自特定 IP 地址的数据包:
```
sudo tcpdump src 192.168.1.100
```
5. 抓取目标 IP 地址为特定 IP 地址的数据包:
```
sudo tcpdump dst 192.168.1.100
```
6. 抓取特定协议和端口的数据包:
```
sudo tcpdump udp port 53
```
7. 抓取从特定源端口发出的数据包:
```
sudo tcpdump src port 1024
```
8. 抓取发往特定目的端口的数据包:
```
sudo tcpdump dst port 22
```
9. 抓取来自特定 IP 地址和端口的数据包:
```
sudo tcpdump src host 192.168.1.100 and src port 22
```
10. 抓取目标 IP 地址为特定 IP 地址并且发往特定端口的数据包:
```
sudo tcpdump dst host 192.168.1.100 and dst port 80
```
相关问题
tcpdump 抓包示例
以下是一个简单的 tcpdump 抓包示例,捕获所有进入和离开本地计算机的网络流量:
```
sudo tcpdump -i any -nnvvS
```
其中,参数说明如下:
- `-i any`:抓取任何接口的流量
- `-nn`:以数字格式显示 IP 和端口号
- `-vv`:显示详细信息,包括运行过程中的统计数据
- `-S`:以原始数据包大小显示数据包长度
执行上述命令后,tcpdump 将开始捕获所有进入和离开计算机的网络流量。可以进行一些网络活动,如访问网站、发送电子邮件等等,然后按 `Ctrl+C` 停止捕获。
tcpdump 将输出捕获到的所有数据包,包括源 IP 和端口号、目的 IP 和端口号、协议类型、数据包长度等等。根据需要,可以使用不同的过滤器来捕获特定类型的流量,或者将输出重定向到文件中以进一步分析。
tcpdump抓包如何过滤mss包
TCP Dump是一个网络协议分析工具,它允许你在实时或离线状态下捕获和分析数据包。如果你想通过TCP Dump过滤出MSS (Maximum Segment Size) 某特定值的数据包,可以使用BPF (Berkeley Packet Filter) 的条件表达式。MSS通常包含在TCP头部的选项字段中。
以下是使用tcpdump过滤MSS特定值的命令示例:
```bash
tcpdump -i interface_name 'tcp[tcpflags] & (tcp_SYN|tcp_FIN) && (tcp_option[TCP_MSS] == MSS_VALUE)'
```
在这个命令中:
- `interface_name` 需替换为你想要监听的网络接口。
- `'tcp[tcpflags] & (tcp_SYN|tcp_FIN)'` 表示只筛选出SYN(连接请求)和FIN(断开连接)标志的数据包。
- `(tcp_option[TCP_MSS] == MSS_VALUE)` 是关键部分,这里的 `MSS_VALUE` 应该是你想要过滤的具体MSS数值,例如你可以用 `== 1460` 来匹配标准的IPV4 MSS。
注意,有些老版本的tcpdump可能不支持直接访问TCP选项,这时你需要先将数据包解析,然后用其他工具如Wireshark来查找满足条件的包。
阅读全文