欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > Linux 下使用tcpdump进行网络分析原

Linux 下使用tcpdump进行网络分析原

2025/5/8 3:12:07 来源:https://blog.csdn.net/liuguizhong/article/details/147671742  浏览:    关键词:Linux 下使用tcpdump进行网络分析原

简介

tcpdump 是一个命令行数据包分析器,可实时捕获和检查网络流量。它通常用于网络故障排除、性能分析和安全监控。

安装

  • Debian/Ubuntu
sudo apt update && sudo apt install tcpdump -y
  • CentOS/RHEL
sudo yum install tcpdump -y
  • macOS
brew install tcpdump

基础语法

tcpdump [options] [filter]

示例用法

在默认接口上捕获数据包

实时捕获并显示网络数据包。

sudo tcpdump
列出可用网络接口
sudo tcpdump -D

输出示例

1. eth0
2. wlan0
3. lo

可以使用此列表中的接口名称来捕获特定接口上的数据包。

在特定接口上捕获数据包
sudo tcpdump -i eth0
限制捕获的数据包数量

仅捕获 10 个数据包然后停止

sudo tcpdump -c 10 -i eth0
将捕获的数据包保存到文件
sudo tcpdump -i eth0 -w capture.pcap
从文件读取数据包
sudo tcpdump -r capture.pcap
仅捕获特定协议
  • 仅 TCP 数据包

sudo tcpdump -i eth0 tcp
  • 仅 UDP 数据包

sudo tcpdump -i eth0 udp
  • 仅 ICMP(ping)数据包

sudo tcpdump -i eth0 icmp
捕获特定主机的数据包

捕获来自/到 192.168.1.1 的流量

sudo tcpdump -i eth0 host 192.168.1.1
捕获特定端口上的数据包
  • 捕获 HTTP 流量(端口 80)

sudo tcpdump -i eth0 port 80
  • 捕获 SSH 流量(端口 22)

sudo tcpdump -i eth0 port 22
从特定源或目标捕获数据包
  • 仅捕获来自源 192.168.1.100 的数据包

sudo tcpdump -i eth0 src 192.168.1.100
  • 仅捕获目的地址为 192.168.1.100 的数据包

sudo tcpdump -i eth0 dst 192.168.1.100
组合多个过滤器

在端口 443 (HTTPS) 上捕获往返于 192.168.1.100 的 TCP 流量

sudo tcpdump -i eth0 tcp and host 192.168.1.100 and port 443
以十六进制和 ASCII 格式显示数据包
sudo tcpdump -X -i eth0
无需解析主机名即可捕获数据包

-n 选项可防止 DNS 查找,从而提高性能

sudo tcpdump -n -i eth0
仅捕获数据包头(无有效负载)

-s 0 标志捕获完整的数据包而不是截断

sudo tcpdump -s 0 -i eth0
仅捕获 HTTP 流量并显示内容

-A 选项以 ASCII 格式打印数据包内容

sudo tcpdump -A -i eth0 port 80

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词