linux命令查看网络拓扑
linux命令查看网络拓扑详细介绍
在 Linux 系统中,可以通过多种命令和工具查看网络拓扑结构,具体方法根据需求(如本地网络、局域网或广域网拓扑)有所不同。以下是常用的命令和工具:
一、查看本地网络连接与设备
- 查看网络接口信息
bashaddr显示当前设备的网络接口(如 Ethernet/Wi-Fi)、IP 地址、MAC 地址等。
- 查看 ARP 表(局域网设备)
basharp结果包含同一子网内其他设备的 IP 地址、MAC 地址和主机名(若解析成功)。
二、扫描局域网设备(内网拓扑)
- 使用
nmap扫描子网
bashnmap .1.0/24输出结果会列出所有在线设备的 IP 地址、MAC 地址(部分设备)和厂商信息,可初步判断局域网内的设备连接关系。
- 结合
arp和nmap生成简易拓扑
通过 ARP 表和 nmap 扫描结果,手动整理设备间的连接(如路由器、交换机、主机等)。
三、追踪网络路由(广域网 / 跨网段拓扑)
traceroute(或tracert)
bashtarget.com显示数据包经过的每一跳路由器的 IP 地址和响应时间,用于分析跨网段的网络路径。
mtr(结合 traceroute 和 ping)
bashtarget.com比 traceroute 更直观,可显示每个节点的丢包率和延迟,适合排查网络故障。
四、查看网络连接与端口
ss或netstat(网络连接状态)
bashss用于查看本地设备与其他主机的连接,但无法直接显示拓扑,可辅助分析节点间的通信关系。
lsof -i(查看网络相关进程)
bash:80显示哪些进程正在使用网络端口,结合 IP 地址可定位连接的对端设备。
五、图形化工具(辅助分析)
nmap配合脚本生成图形
通过扫描结果导出数据,使用工具如nmap-bootstrap-xsl生成 HTML 格式的可视化报告。glances(系统监控)
bashglances可视化显示网络接口的输入 / 输出速率,辅助判断设备间的流量流向。
六、注意事项
- 权限问题:部分命令(如
nmap -sn、arp)需管理员权限(sudo)。 - 网络范围:内网拓扑可通过 ARP 和 nmap 扫描,外网拓扑需依赖路由追踪(traceroute),但无法获取完整的网络架构(如路由器背后的子网)。
- 安全提示:扫描非授权网络可能违反规定,确保在合法范围内操作。
总结
- 内网设备发现:
arp -a+nmap - 路由追踪:
traceroute/mtr - 连接分析:
ss/netstat - 流量监控:
iftop(实时带宽)、nethogs(进程流量)
根据具体需求组合使用上述工具,可逐步拼凑出网络拓扑的大致结构。如果需要更完整的可视化拓扑,可能需要借助专业网络管理工具(如 Wireshark、Nagios 等)。