返回列表
1403人浏览| 0回复
发帖

Linux五大超经典网络监控命令

转载自http://tech.it168.com/a2010/1105/1122/000001122528.shtml

监测网络流量和保护数据及计算机一样重要,了解最基本的网络故障诊断和排除技巧有助于你节省时间和成本。每个Linux发行版都附带有大量的命令行工具帮助你诊断网络问题,此外还有很多开源工具可以帮助你跟踪恼人的网络问题。
  在这篇文章中,我将给大家推荐五款命令行和开源免费的Linux网络监控工具,提前了解一些简单的命令,当你需要使用它们诊断网络问题时,你会更得心应手。我将使用Ubuntu 10.04作为测试桌面平台,但这些工具在其它Linux发行版或不同版本中一样可以很好地工作。
  经典的ping
  如果你不想从终端使用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
  EtherApe可以从Ubuntu软件中心下载,它使用GNOME和libpcap展现一个可视化的网络通信地图,安装EtherApe后,你可以在“应用程序”*“系统工具”菜单下找到它,但它需要root权限才能打开网络设备,我们也可以从命令行通过sodu命令运行它。
#div_code img{border:0px;}
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$ sudo etherape
  
       当你有程序使用网络时,它就会显示默认以太网端口上的网络通信,如果你的计算机有多个以太网接口,你可以使用“捕捉”*“接口”菜单选择一个特定的设备。EtherApe也可以查看保存在pcap文件中的数据,它可以按协议类型显示网络通信数据。

  图 2 EtherApe
  项目主页:http://etherape.sourceforge.net/
  Nmap
  Nmap是一个广泛使用的安全扫描工具,自1997年发布以来,已经有十多年历史了,它使用各种特殊的数据包探测网络,包括创建一个IP地址映射,确定目标IP地址的操作系统类型,探测特定IP地址上开放的端口,它最基本的一个功能就是群ping,确定目标计算机上绑定的IP地址,如下面的命令就是群ping 192.168.1.1到192.168.1.255:
#div_code img{border:0px;}
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$ nmap -sP 192.168.1.1-255

        如果你不喜欢命令行,好办,在Ubuntu软件中心有许多使用Nmap引擎的图形工具,如NmapSI4,它使用Qt4界面,此外还有Zenmap。
  项目主页:http://www.nmap.org/  

Tcpdump
  捕捉网络通信进行进一步分析是tcpdump的重要功能,实际上,数据包捕获是由libpcap完成的,tcpdump只是进行展示和分析,原始以太网数据被保存在一个pcap文件中,其它数据包分析工具,如Wireshark也使用的是同样的pcap文件格式。
  捕获基本的网络通信使用的tcpdump命令如下:
#div_code img{border:0px;}
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$ sudo tcpdump nS

  要访问默认的以太网设备需要使用sodu,这个命令会显示最基本的信息,包括时间、源地址、目标地址和数据包类型,它会一直在终端显示这些信息,直到你按下Ctrl+C为止。Tcpdump是将网络通信捕获到一个文件最佳和最快速的方法。我们常见的tcpdump用法如下:
#div_code img{border:0px;}
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$ sudo tcpdump s w pktfile.pcap

  项目主页:http://www.tcpdump.org/
  Wireshark
  Wireshark以前叫做Ethereal,它已经成为许多网络专业人士的首选工具,Ubuntu用户可以在Ubuntu软件中心中找到它,和其它工具一样,我们必须从命令行通过sodu的方式启动Wireshark才能看到所有以太网设备,启动好后,你应该可以在窗口左侧看到一个以太网设备列表,选择你要捕获数据包的接口,将会显示协议显示页面。

  图 3 Wireshark
  Wireshark详尽展示了捕获到的网络通信数据,并提供了过滤工具过滤不想查看的数据包类型,可以显示数据包源和目标地址,协议和错误等信息,Wireshark主页提供了视频教程,有兴趣的读者可以去听听,此外还有白皮书和示例数据,这些东西可以帮助你尽快熟悉Wireshark。
  项目主页:http://www.wireshark.org/
  小结
  Linux是学习网络诊断技术理想的平台,它提供了大量的命令行工具和GUI工具帮助你查看和分析网络通信,本文介绍的五个工具仅仅是其中一部分,怎么样,快将它们加入你的网络工具箱吧!
第一楼

返回列表 回复 发帖