1.什么是tcpdump 和 Wireshark
tcpdump 和 Wireshark 都是网络分析工具,用于捕获和分析网络数据包,但它们在功能和使用上有所不同。
- tcpdump 仅支持命令行格式使用,常用在 Linux 服务器中抓取和分析网络包。
- Wireshark 除了可以抓包外,还提供了可视化分析网络包的图形页面。
所以,这两者实际上是搭配使用的,先用 tcpdump 命令在 Linux 服务器上抓包,接着把抓包的文件拖出到 Windows 电脑后,用 Wireshark 可视化分析。如果你是在 Windows 上抓包,只需要用 Wireshark 工具就可以。
1.1WireShark软件安装
软件下载路径:wireshark官网。按照系统版本选择下载,下载完成后,按照软件提示一路Next安装。
2.tcpdump 在 Linux 下如何抓包?
安装 tcpdump
如果你的系统上没有安装 tcpdump,可以通过包管理器进行安装。在大多数基于 Debian 的系统(如 Ubuntu)上,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install tcpdump
在基于 Red Hat 的系统(如 CentOS、Fedora)上,可以使用以下命令安装:
sudo yum install tcpdump
使用 tcpdump 抓包
一旦安装完成,就可以使用 tcpdump 命令进行抓包。以下是一些常用的 tcpdump 命令选项和示例:
sudo tcpdump -i <interface>
<interface> 是要监听的网络接口,如 eth0、wlan0 等。如果不指定接口,默认会选择系统上的第一个网络接口。
使用 -w 参数可以将捕获的数据包保存到文件中,以便后续分析:
sudo tcpdump -i eth0 -w capture.pcap
使用 -c 参数可以指定捕获的数据包数量:
sudo tcpdump -i eth0 -c 100
可以使用 BPF 过滤器来只捕获符合特定条件的数据包。例如,只捕获目标地址为 192.168.1.100 的数据包:
sudo tcpdump -i eth0 dst 192.168.1