tcpdump 抓包示例
时间: 2023-10-06 12:07:07 浏览: 79
以下是一个简单的 tcpdump 抓包示例,捕获所有进入和离开本地计算机的网络流量:
```
sudo tcpdump -i any -nnvvS
```
其中,参数说明如下:
- `-i any`:抓取任何接口的流量
- `-nn`:以数字格式显示 IP 和端口号
- `-vv`:显示详细信息,包括运行过程中的统计数据
- `-S`:以原始数据包大小显示数据包长度
执行上述命令后,tcpdump 将开始捕获所有进入和离开计算机的网络流量。可以进行一些网络活动,如访问网站、发送电子邮件等等,然后按 `Ctrl+C` 停止捕获。
tcpdump 将输出捕获到的所有数据包,包括源 IP 和端口号、目的 IP 和端口号、协议类型、数据包长度等等。根据需要,可以使用不同的过滤器来捕获特定类型的流量,或者将输出重定向到文件中以进一步分析。
相关问题
tcpdump 抓包过滤示例
以下是几个常用的 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组播抓包示例:
假设我们的组播地址是224.0.0.1,我们可以使用以下命令来捕获所有传入的组播数据包:
sudo tcpdump -i eth0 -n -vvv host 224.0.0.1
其中,-i参数指定了要监听的网络接口,-n参数禁用了DNS解析,以IP地址显示主机名,-vvv参数启用详细输出。
此命令将捕获所有传入的224.0.0.1组播数据包,并将它们显示在终端上。您可以使用Ctrl+C来停止捕获。
如果您只想捕获特定端口的组播数据包,可以使用以下命令:
sudo tcpdump -i eth0 -n -vvv host 224.0.0.1 and port 1234
其中port参数指定要捕获的端口号。此命令将捕获所有传入的224.0.0.1组播数据包,其目的端口为1234,并将它们显示在终端上。
请注意,如果您使用的是Linux系统,则需要使用root权限来运行tcpdump命令。
阅读全文