如何查看linux往外发包
如何查看linux往外发包详细介绍
在 Linux 系统中,查看往外发送的数据包(即本机作为源地址发送的网络流量)可以通过多种工具实现,以下是常用方法及具体操作:
一、实时抓包分析:tcpdump
tcpdump 是 Linux 下强大的命令行抓包工具,可实时捕获并显示网络接口上的数据包。
命令示例:
bash
tcpdump any
tcpdump any
tcpdump any
tcpdump any
-i any:监听所有网络接口(可替换为具体接口如eth0、wlan0)。-n:不解析域名,直接显示 IP。src host:指定源地址(本机发送的包需用src,接收用dst)。
二、实时流量监控:iftop
iftop 是交互式流量监控工具,直观显示各连接的带宽、收发流量及连接对端信息。
安装(若未预装):
bash
iftop
yum iftop
使用命令:
bash
iftop any
- 按
d切换显示发送(Send)、接收(Recv)或全部流量。 - 按
n切换是否解析域名,p显示端口号。
三、查看网络连接状态:ss/netstat
1.
ss(推荐,替代传统
netstat,更高效)
显示活跃的网络连接及发送队列信息:
bash
ss
ss
ss
2.
netstat(兼容性强,但逐渐被
ss 取代)
bash
四、统计网络设备发送数据:sar/nstat
1.
sar(系统活动报告工具,需安装
sysstat 包)
bash
sar DEV
2.
nstat(更简洁的网络统计)
bash
nstat
五、过滤特定场景(如端口、协议)
若需更精准的过滤(例如仅查看本机发送到目标端口 80 的 TCP 包):
bash
tcpdump any
注意事项
- 管理员权限:大部分工具需用
sudo运行(普通用户仅能抓取自己的数据包)。 - 接口名称:通过
ip addr或ifconfig确认网络接口名称(如enp0s3、wlo1)。 - 性能影响:长时间高流量抓包可能影响系统性能,建议结合过滤条件缩小范围。
根据需求选择工具:
- 实时抓包分析:首选
tcpdump。 - 可视化流量监控:用
iftop。 - 连接状态排查:用
ss/netstat。 - 历史统计:用
sar。