tcpdump调试

在Ubuntu上查看eth网卡报文进行调试,最简单的方法是使用 tcpdump。以下是具体步骤:

1. 安装 tcpdump

bash 复制代码
sudo apt update
sudo apt install tcpdump

2. 基本使用命令

查看所有网络接口

bash 复制代码
tcpdump -D

捕获eth0接口的所有流量

bash 复制代码
sudo tcpdump -i eth0

捕获特定数量的数据包

bash 复制代码
sudo tcpdump -i eth0 -c 10  # 只捕获10个包

详细输出

bash 复制代码
sudo tcpdump -i eth0 -v      # 详细信息
sudo tcpdump -i eth0 -vv     # 更详细信息
sudo tcpdump -i eth0 -vvv    # 最详细信息

3. 常用过滤选项

按IP地址过滤

bash 复制代码
sudo tcpdump -i eth0 host 192.168.1.100        # 特定主机
sudo tcpdump -i eth0 src 192.168.1.100         # 源地址
sudo tcpdump -i eth0 dst 192.168.1.100         # 目的地址

按端口过滤

bash 复制代码
sudo tcpdump -i eth0 port 80                   # HTTP流量
sudo tcpdump -i eth0 port 443                  # HTTPS流量
sudo tcpdump -i eth0 port 22                   # SSH流量

按协议过滤

bash 复制代码
sudo tcpdump -i eth0 icmp                      # 只显示ICMP(ping)包
sudo tcpdump -i eth0 arp                       # 只显示ARP包
sudo tcpdump -i eth0 tcp                       # 只显示TCP包

4. 保存和读取捕获文件

保存到文件

bash 复制代码
sudo tcpdump -i eth0 -w capture.pcap

读取保存的文件

bash 复制代码
tcpdump -r capture.pcap

5. 实时监控特定流量示例

bash 复制代码
# 监控HTTP流量并显示ASCII内容
sudo tcpdump -i eth0 -A port 80

# 监控特定子网的流量
sudo tcpdump -i eth0 net 192.168.1.0/24

# 组合条件:监控来自特定IP的HTTP流量
sudo tcpdump -i eth0 src 192.168.1.100 and port 80

6. 替代方案:使用 wireshark/tshark

如果想用图形界面或更强大的分析工具:

bash 复制代码
# 安装wireshark
sudo apt install wireshark

# 命令行版本的wireshark
sudo apt install tshark

# 使用tshark
sudo tshark -i eth0

提示:

  • 使用 Ctrl+C 停止捕获
  • 如果没有 eth0,可以用 ip link show 查看实际的接口名
  • 对于无线网络,接口名通常是 wlan0

这就是最简单实用的网络报文调试方法!

相关推荐
Novproxy_Z1 天前
商用代理避坑:如何识别商家拿机房 IP 冒充住宅 IP
java·网络·tcp/ip
垆边人似月.1 天前
RDMA 文件传输踩坑(五):READY 发送成功后,为什么出现 Work Request Flushed Error?
服务器·网络·tcp/ip
HideF1 天前
nmcli
linux·服务器·网络
qetfw1 天前
UOS DHCP Relay:跨网段分配与 IP、DNS、网关验证
linux·服务器·网络·tcp/ip·uos
尹人入圣1 天前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
中屹指纹浏览器svip1 天前
只用指纹浏览器,不搭配IP可以吗?
网络
jimmyleeee1 天前
Agent安全之八:OWASP ASI08 级联失效------当每一个 Agent 都“正确”,系统却走向灾难
网络·安全·web安全
缓慢更新1 天前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
叼烟扛炮1 天前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
叼烟扛炮1 天前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip