linux抓包命令行
时间: 2024-08-21 16:02:14 浏览: 35
Linux 中的抓包工具主要是 tcpdump 和 Wireshark 的命令行版本 tshark。这里主要介绍 tcpdump 的使用方法。
tcpdump 是一个命令行网络分析工具,它允许用户截取经过网络接口的数据包,并能够将网络层、协议、端口等信息进行过滤,方便用户分析网络上的问题或数据流动情况。使用 tcpdump 的基本命令格式如下:
```
tcpdump [选项] [过滤表达式]
```
- 选项部分可以指定抓包的接口、抓包数量、抓包超时时间等。
- 过滤表达式用于指定需要抓取哪些数据包,比如根据 IP 地址、端口号、协议类型等进行过滤。
基本示例命令:
1. 抓取指定网络接口 eth0 的所有数据包:
```
tcpdump -i eth0
```
2. 保存抓取的数据包到文件中:
```
tcpdump -w capture.pcap -i eth0
```
3. 读取之前保存的抓包文件:
```
tcpdump -r capture.pcap
```
4. 过滤只抓取包含特定 IP 地址的数据包:
```
tcpdump -i eth0 src 192.168.1.100
```
或
```
tcpdump -i eth0 dst 192.168.1.100
```
(src 表示源地址,dst 表示目的地址)
5. 过滤特定端口的数据包:
```
tcpdump -i eth0 port 80
```
6. 过滤特定协议的数据包,比如只捕获 TCP 或者 UDP 协议的数据包:
```
tcpdump -i eth0 tcp
```
或
```
tcpdump -i eth0 udp
```
这些是使用 tcpdump 命令进行基本抓包操作的一些示例,tcpdump 还有许多高级的用法和参数,可以通过阅读它的手册(man tcpdump)来获取更多信息。