每个Linux发行版都附带有大量的命令行工具帮助你诊断网络问题,此外还有很多开源工具可以帮助你跟踪恼人的网络问题。
在这篇文章中,我将给大家推荐五款命令行和开源免费的Linux网络监控工具,提前了解一些简单的命令,当你需要使用它们诊断网络问题时,你会更得心应手。我将使用Ubuntu 10.04作为测试桌面平台,但这些工具在其它Linux发行版或不同版本中一样可以很好地工作。
如果你不想从终端使用Linux命令行,那你可以跳过这一节,实际上,Linux命令行并没有那么可怕,尤其是网络问题诊断方面,大多数命令显示的信息可以帮助你确定究竟发生了什么,有些命令行工具可能需要root权限,或至少需要使用sudo命令。
图 1 ping
首先是ifconfig命令,在命令提示符后输入这个命令会显示所有可识别的网络设备信息,在下面的例子中,你可以看到eth0,lo设备和wlan0,它们分别对应于有线以太网设备(分配的地址192.168.1.2),环回连接和无线以太网设备(地址192.168.1.102),它也显示了设备的mac地址(HWaddr)和一些网络通信统计数据,在遇到网络问题时,你应该首先使用这个命令查看IP地址是否有效,以及网络通信统计或错误信息。
接下来你应该使用ping命令,确定你的计算机和外界通信是否正常,例如,ping一个已知的外部IP地址(如4.2.2.1)可以快速检测你的网络连接是否正常,它也会显示ping命令使用的时间,对于常见的DSL类型的网络连接,50ms左右的时间是比较正常的,时间越长表示网络越不稳定,如果出现ping数据包丢失,则表示网络问题比较严重。
使用了ifconfig和ping命令后,接下来你还应该使用route命令,这个命令可以显示一串IP地址,包括目标地址和中途经过的网关地址,此外还包括一个标志列,在默认网关后这个标志将会显示为G,你可以ping默认网关地址确定你的计算机和网关的连接是否畅通。
EtherApe可以从Ubuntu软件中心下载,它使用GNOME和libpcap展现一个可视化的网络通信地图,安装EtherApe后,你可以在“应用程序”*“系统工具”菜单下找到它,但它需要root权限才能打开网络设备,我们也可以从命令行通过sodu命令运行它。
$ sudo etherape
当你有程序使用网络时,它就会显示默认以太网端口上的网络通信,如果你的计算机有多个以太网接口,你可以使用“捕捉”*“接口”菜单选择一个特定的设备。EtherApe也可以查看保存在pcap文件中的数据,它可以按协议类型显示网络通信数据。
图 2 EtherApe
项目主页:http://etherape.sourceforge.net/
Nmap是一个广泛使用的安全扫描工具,自1997年发布以来,已经有十多年历史了,它使用各种特殊的数据包探测网络,包括创建一个IP地址映射,确定目标IP地址的操作系统类型,探测特定IP地址上开放的端口,它最基本的一个功能就是群ping,确定目标计算机上绑定的IP地址,如下面的命令就是群ping 192.168.1.1到192.168.1.255:
$ nmap -sP 192.168.1.1-255
如果你不喜欢命令行,好办,在Ubuntu软件中心有许多使用Nmap引擎的图形工具,如NmapSI4,它使用Qt4界面,此外还有Zenmap。
新闻热点
疑难解答