Linux 命令行网络监控工具

转自:http://blog.sina.com.cn/s/blog_14d68bfac0102vux9.html

对任何规模的业务来说,网络监控工具都是一个重要的功能。网络监控的目标可能千差万别。比如,监控活动的目标可以是保证长期的网络服务、安全保护、对性能进行排查、网络使用统计等。由于它的目标不同,网络监控器使用很多不同的方式来完成任务。比如对包层面的嗅探,对数据流层面的统计数据,向网络中注入探测的流量,分析服务器日志等。
尽管有许多专用的网络监控系统可以365天24小时监控,但您依旧可以在特定的情况下使用命令行式的网络监控器,某些命令行式的网络监控器在某方面很有用。如果您是系统管理员,那您就应该有亲身使用一些知名的命令行式网络监控器的经历。这里有一份Linux上流行且实用的网络监控器列表。
 
包层面的嗅探器
在这个类别下,监控工具在链路上捕捉独立的包,分析它们的内容,展示解码后的内容或者包层面的统计数据。这些工具在最底层对网络进行监控、管理,同样的也能进行最细粒度的监控,其代价是影响网络I/O和分析的过程。
dhcpdump:一个命令行式的DHCP流量嗅探工具,捕捉DHCP的请求/回复流量,并以用户友好的方式显示解码的DHCP协议消息。这是一款排查DHCP相关故障的实用工具。
dsniff:一个基于命令行的嗅探、伪造和劫持的工具合集,被设计用于网络审查和渗透测试。它可以嗅探多种信息,比如密码、NSF流量(LCTT 译注:此处疑为 NFS 流量)、email消息、网络地址等。
httpry:一个HTTP报文嗅探器,用于捕获、解码HTTP请求和回复报文,并以用户友好的方式显示这些信息。(LCTT 译注:延伸阅读。http://www.linuxidc.com/Linux/2014-11/108865.htm )
IPTraf:基于命令行的网络统计数据查看器。它实时显示包层面、连接层面、接口层面、协议层面的报文/字节数。抓包过程由协议过滤器控制,且操作过程全部是菜单驱动的。(LCTT 译注:延伸阅读。http://www.linuxidc.com/Linux/2015-05/117346.htm)

mysql-sniffer:一个用于抓取、解码MySQL请求相关的数据包的工具。它以可读的方式显示最频繁或全部的请求。
ngrep:在网络报文中执行grep。它能实时抓取报文,并用正则表达式或十六进制表达式的方式匹配(过滤)报文。它是一个可以对异常流量进行检测、存储或者对实时流中特定模式报文进行抓取的实用工具。
p0f:一个被动的基于包嗅探的指纹采集工具,可以可靠地识别操作系统、NAT或者代理设置、网络链路类型以及许多其它与活动的TCP连接相关的属性。
pktstat:一个命令行式的工具,通过实时分析报文,显示连接带宽使用情况以及相关的协议(例如,HTTP GET/POST、FTP、X11)等描述信息。

Snort:一个入侵检测和预防工具,通过规则驱动的协议分析和内容匹配,来检测/预防活跃流量中各种各样的后门、僵尸网络、网络钓鱼、间谍软件攻击。
Snort 中文手册 http://www.linuxidc.com/Linux/2013-11/92265.htm
Snort + Base 入侵检测配置 http://www.linuxidc.com/Linux/2013-02/79805.htm
Ubuntu 12.04下安装Snort详解 http://www.linuxidc.com/Linux/2013-01/78554.htm
Snort企业部署实战 http://www.linuxidc.com/Linux/2012-08/68946.htm
Snort+base搭建IDS入侵检测系统 http://www.linuxidc.com/Linux/2012-08/67865.htm
Linux平台Snort入侵检测系统实战指南 http://www.linuxidc.com/Linux/2012-08/67048.htm
tcpdump:一个命令行的嗅探工具,可以基于过滤表达式抓取网络中的报文,分析报文,并且在包层面输出报文内容以便于包层面的分析。他在许多网络相关的错误排查、网络程序debug、或安全监测方面应用广泛。
Linux系统入门学习:如何使用tcpdump来捕获TCP SYN,ACK和FIN包  http://www.linuxidc.com/Linux/2014-10/107722.htm
Linux运维工程师利器:Nmap和tcpdump http://www.linuxidc.com/Linux/2014-02/96993.htm
tshark:一个与Wireshark窗口程序一起使用的命令行式的嗅探工具。它能捕捉、解码网络上的实时报文,并能以用户友好的方式显示其内容。
 流/进程/接口层面的监控
在这个分类中,网络监控器通过把流量按照流、相关进程或接口分类,收集每个流、每个进程、每个接口的统计数据。其信息的来源可以是libpcap抓包库或者sysfs内核虚拟文件系统。这些工具的监控成本很低,但是缺乏包层面的检视能力。
bmon:一个基于命令行的带宽监测工具,可以显示各种接口相关的信息,不但包括接收/发送的总量/平均值统计数据,而且拥有历史带宽使用视图。
iftop:一个带宽使用监测工具,可以实时显示某个网络连接的带宽使用情况。它对所有带宽使用情况排序并通过ncurses的接口来进行可视化。他可以方便的监控哪个连接消耗了最多的带宽。(LCTT 译注:延伸阅读。http://www.linuxidc.com/Linux/2013-08/89102.htm)
CentOS-网卡实时监测工具-iftop  http://www.linuxidc.com/Linux/2013-05/84590.htm
Linux下监控网卡流量的软件iftop  http://www.linuxidc.com/Linux/2011-05/36348.htm
CentOS流量查看工具iftop介绍  http://www.linuxidc.com/Linux/2008-06/13492.htm
nethogs:一个基于ncurses显示的进程监控工具,提供进程相关的实时的上行/下行带宽使用信息。它对检测占用大量带宽的进程很有用。(LCTT 译注:延伸阅读。http://www.linuxidc.com/Linux/2014-04/99602.htm)
netstat:一个显示许多TCP/UDP的网络堆栈的统计信息的工具。诸如打开的TCP/UDP连接书、网络接口发送/接收、路由表、协议/套接字的统计信息和属性。当您诊断与网络堆栈相关的性能、资源使用时它很有用。
speedometer:一个可视化某个接口发送/接收的带宽使用的历史趋势,并且基于ncurses的条状图进行显示的终端工具。
sysdig:一个可以通过统一的界面对各个Linux子系统进行系统级综合性调试的工具。它的网络监控模块可以监控在线或离线、许多进程/主机相关的网络统计数据,例如带宽、连接/请求数等。(LCTT 译注:延伸阅读。http://www.linuxidc.com/Linux/2014-12/110033.htm)
tcptrack:一个TCP连接监控工具,可以显示活动的TCP连接,包括源/目的IP地址/端口、TCP状态、带宽使用等。
vnStat:一个存储并显示每个接口的历史接收/发送带宽视图(例如,当前、每日、每月)的流量监控器。作为一个后台守护进程,它收集并存储统计数据,包括接口带宽使用率和传输字节总数。

时间: 2024-11-03 01:38:57

Linux 命令行网络监控工具的相关文章

超实用的8个Linux命令行性能监测工具

对每个系统/网络管理员来说,每天监测Linux系统性能是一项非常艰巨的任务.在IT业从事5年的Linux系统管理员后,我发现监控和保持系统正常运行真不是件容易的事,为此,我总结了8个非常实用的命令行工具给Linux/Unix系统管理员.这些命令支持所有的Linux系统,不仅可以用于监控系统,还可以发现导致性能问题的原因所在.下面提供的8个命令足够你选择其中一个用于你的场景中. 1.TOP——Linux进程监控 Linux的top命令是一个性能监视程序,许多Linux系统管理员经常使用它来监测系统

28 个必备的 Linux 命令行工具

28 个必备的 Linux 命令行工具 dstat& sariostat, vmstat, ifstat and much more in one.slurm网络流量图形化工具vim&emacs这个没人不知道吧~screen, dtach,tmux, byobu保持你的终端连接活跃.multitail在不同的窗口查看日志文件.t... dstat & sar iostat, vmstat, ifstat and much more in one. slurm 网络流量图形化工具 v

使用Linux命令行测试网速

使用Linux命令行测试网速http://www.linuxde.net/2014/01/15561.html 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为"最后一公里")的网络连接速度.在可用于测试宽带速度的网站中,Speedtest.net也许是使用最广泛的. Speedtest.net的工作原理并不复杂:它在你的浏览器中加载JavaScript代码并自动检测离你最近的Speedtest.net服务器,然后向服务器发送HTTP GET and P

Linux命令:网络配置常用命令

网络配置常用命令简介:    在Linux中网络属于内核的功能 1. 执行命令生成地址:(执行后立即生效,服务重启后失效) RHEL5: /etc/modprobe.conf  RHEL6: /etc/udev/rules.d/70-persistent-net.rules  alias ifconfig [ethX]     -a: 显示所有接口的配置住处      ifconfig ethX IP/MASK [up|down]     配制后立即生效,重启后网络服务或主机失效 网络服务:  

20个linux命令行工具监视性能(下)

昨天晚上第一次翻译了<20 Command Line Tools to Monitor Linux Performance>中的前十个命令,翻译得不是很好,今天晚上继续把后面的十个也翻译给大家吧,第一次写博客,写的不是特别的好,希望大家不要介意,也希望大家觉得有什么不对的地方能够多多指教,毕竟小弟还是初学者.下面我们开始学习下面十个命令吧! 11,Monit –- Linux Process and Services Monitoring Monit  是一个免费开源并且基于web的进程监督实

Linux命令行修改IP、网关、DNS、主机名 的方法

修改主机名:[改里面的 HOSTNAME 即可] vim /etc/sysconfig/network 网卡eth0    IP修改为 102.168.0.1 ifconfig eth0 102.168.0.1 netmask 255.255.255.0 网关修改为 102.168.0.254 route add default gw 102.168.0.254 Linux命令行修改DNS echo "nameserver 202.202.202.20 ">> /etc/r

&lt;&lt;linux命令行与shell脚本编程大全&gt;&gt;学习笔记(1)

一章初识linux shell 一.什么是linux 1.linux系统可大致划分为四部分: l Linux内核 l GNU工具组件 l 图形化桌面环境 l 应用软件 在linux系统里,这四部分中的每一部分都扮演着一个特别的角色,但如果将他们分开,每一部分都没太大的作用. 1)探究linux内核 Linux系统的核心是内核,内核控制着计算机系统上的所有硬件和软件,必要时分配硬件,有时需要执行软件. 内核基本负责以下四项主要功能: l 系统内存管理 l 软件程序管理 l 硬件设备管理 l 文件系

linux命令和网络配置图步骤

 rpm -ivh MySQL-client...... 安装MySQL客户端的命令,没写完整 1  ls 2  cd 3  ls 4  ls -l 5  vim 6  cd 7  ls -l 8  shutdowm 9  man 10  shutdown 11  shutdown -h 12  reboot 13  vim/etc/sysconfig/network 14  cd 15  vim/etc/sysconfig/network 16  vim /etc/sysconfig/ne

Linux命令行技巧

Linux命令行技巧 命令 描述 • apropos whatis 显示和word相关的命令. 参见线程安全 • man -t man | ps2pdf - > man.pdf 生成一个PDF格式的帮助文件 which command 显示命令的完整路径名 time command 计算命令运行的时间 • time cat 开始计时. Ctrl-d停止.参见sw • nice info 运行一个低优先级命令(这里是info) • renice 19 -p $$ 使脚本运行于低优先级.用于非交互任