mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
translated half of the article
This commit is contained in:
parent
b6a841abc5
commit
44f65f05f0
@ -0,0 +1,65 @@
|
||||
什么是Linux上实用的命令行网络监视器
|
||||
===============================================================================
|
||||
对任何规模的业务来说,网络监视器都是一个重要的功能。网络监视器的功能可能千差万别。比如,监视活动可以是长期网络供应的一部分,安全保护,性能或者排错,网络使用统计等。由于它的目标不同,网络监视器使用很多不同的方式来完成任务。比如使用包层面的探测,收集流层面的统计数据,向网络中注入探测的流量,分析服务器日志等。
|
||||
|
||||
尽管有许多专用的网络监视系统可以365天24小时监视,但您依旧可以在特定的情况下使用命令行式的网络监视器,某些命令行式的网络监视器在某方面很有威力。如果您是系统管理员,那您就应该有亲身使用一些知名的命令行式网络监视器的实践经历。这里有一份**Linux上流行且实用的网络监视器**列表。
|
||||
|
||||
### 包层面的嗅探器 ###
|
||||
|
||||
在这个类别下,监视器工具在链路上捕捉独立的包,分析它们的内容,展示解码后的内容或者包层面的统计数据。这些工具在最低的层面对网络进行监视、管理,同样的也能进行最细粒度的监视,代价是部分网络I/O和分析的过程。
|
||||
|
||||
1. **dhcpdump**:一个命令行式的DHCP流量嗅探工具,捕捉DHCP的请求/回复通信,以用户友好的方式显示解码的DHCP协议消息。这是一款排查DHCP相关故障的实用工具。
|
||||
|
||||
2. **[dsniff][1]**:一个基于命令行的嗅探工具的集合,拥有欺骗和劫持功能,被设计用于网络审计和渗透测试。它可以嗅探多种不同的信息,比如密码、NSF流量、email消息、网络地址等。
|
||||
|
||||
3. **[httpry][2]**:一个HTTP报文嗅探器,用于捕获、解码HTTP请求和回复报文,并以用户友好的方式显示这些信息。
|
||||
|
||||
4. **IPTraf**:基于命令行的网络统计数据查看器。它实时显示包层面、连接层面、接口层面、协议层面的报文/字节数。抓包过程由协议过滤器控制,且操作过程全部是菜单驱动的。
|
||||
|
||||
![](https://farm8.staticflickr.com/7519/16055246118_8ea182b413_c.jpg)
|
||||
|
||||
5. **[mysql-sniffer][3]**:一个用于抓取、解码MySQL请求相关的数据包的工具。它以可读的方式显示最频繁或全部的请求。
|
||||
|
||||
6. **[ngrep][4]**:在网络报文中执行grep。它能实时抓取报文,并使用正则表达式或十六进制表达式的方式匹配报文。它是一个可以对异常流量进行检测、存储或者对实时流中特别模式报文进行抓取的实用工具。
|
||||
|
||||
7. **[p0f][5]**:一个被动的基于包嗅探的指纹采集工具,可以可靠的识别操作系统、NAT或者代理设置、网络链路类型以及许多其他与活动的TCP连接相关的属性。
|
||||
|
||||
8. **pktstat**:一个命令行式的工具,通过分析报文,显示实时的连接带宽使用情况以及相关的协议(例如,HTTP GET/POST、FTP、X11)的描述信息。
|
||||
|
||||
![](https://farm8.staticflickr.com/7477/16048970999_be60f74952_b.jpg
|
||||
|
||||
9. **Snort**:一个入侵检测和预防工具,通过规则驱动的协议分析和内容匹配,来检测/预防活跃流量中各种各样的后门、僵尸网络、网络钓鱼、间谍软件攻击。
|
||||
|
||||
10. **tcpdump**:一个命令行的嗅探工具,可以基于过滤表达式抓取网络中的报文,分析报文,并且在包层面输出报文内容。他在许多网络相关的错误排查、网络程序debug、或[安全][6]监测方面应用广泛。
|
||||
|
||||
11. **tshark**:一个与Wireshark窗口程序一起使用的命令行式的嗅探工具。他能捕捉、解码网络上的实时报文,并能以用户友好的方式显示其内容。
|
||||
|
||||
### 流/进程/接口层面的监视 ###
|
||||
|
||||
在这个分类中,网络监视器通过把流量分为流、相应的进程或接口来收集每个流、每个进程、每个接口的统计数据。其信息的来源可以是libpcap抓包库或者sysfs内核虚拟文件系统。这些工具的监视成本很低,但是缺乏包层面的检查能力。
|
||||
|
||||
12. **bmon**:一个基于命令行的带宽监测工具,可以显示各种接口相关的信息,不但包括接收/发送的总值/平均值统计数据,而且拥有历史带宽使用视图。
|
||||
|
||||
![](https://farm9.staticflickr.com/8580/16234265932_87f20c5d17_b.jpg)
|
||||
|
||||
13. **[iftop][7]**:一个带宽使用监测工具,可以实时显示某个连接的带宽使用情况。它对所有带宽使用情况排序并基于ncurses的接口来进行可视化。他可以方便的监视那个连接使用了最多的带宽。
|
||||
|
||||
14. **nethogs**:一个进程监视工具,提供进程相关的实时的上行/下行带宽使用信息,并基于ncurses显示。它对检测占用大量带宽的进程很有用。
|
||||
|
||||
15. **netstat**:一个显示诸如TCP/UDP的网络堆栈、网络接口发送/接收、路由表、协议/套接字的统计信息和属性的命令行工具。当您诊断与网络堆栈相关的性能、资源使用时它很有用。
|
||||
|
||||
16. **[speedometer][8]**:一个可视化某个接口历史发送/接收带宽使用趋势,并且基于ncurses的条状图进行显示的工具。
|
||||
|
||||
![](https://farm8.staticflickr.com/7485/16048971069_31dd573a4f_c.jpg)
|
||||
|
||||
17. **[sysdig][9]**:一个对Linux子系统拥有统一调试接口的系统级综合性debug工具。它的网络监视模块可以监视在线/离线、许多进程/主机相关的网络统计数据,例如带宽、连接/请求数等。
|
||||
|
||||
18. **tcptrack**:一个TCP连接监视工具,可以显示活动的TCP连接,包括源/目的的IP地址/端口、TCP状态、带宽使用等。
|
||||
|
||||
![](https://farm8.staticflickr.com/7507/16047703080_5fdda2e811_b.jpg)
|
||||
|
||||
19. **vnStat**:一个维护了基于接口的历史接收/发送带宽使用视图(例如,当前、每日、每月)的流量监视器。作为一个后台守护进程,它收集并存储统计数据,包括接口带宽使用率和传输字节总数。
|
||||
|
||||
### 活动网络监视器 ###
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user