网络监控工具:IPTraf |
| 作者:nixe0n
简介 1.1.系统需求
IP、TCP、UDP、ICMP报文总数和非IP字节数。 TCP连接的源/目的地址和源/目的端口。 TCP报文数和字节数。 TCP标志状态。 UDP源/目的信息。 ICMP类型信息。 OSPF源/目的信息。 TCP和UDP服务统值。 网络接口报文计数。 网络接口IP校验和错误数目。 网络接口活动指示器。 LAN统计
1.安装
编译、使用IPTraf需要具备以下条件: 80386或者更好的计算机(要求不高:P),自然是配置越高越好。配置越好,越不容易发生丢包现象。IPTraf可能也可以用于其它体系的处理器(SPARC、Alpha、M68K、PowerPC等),不过没有测试过。
8M以上的内存,16M以上的虚拟内存。多多益善。
1.2.安装 你可以从http://iptraf.seul.org下载IPTraf。然后使用如下命令安装IPTraf: 解压文件
#cd iptraf-x.y.z
1.3.启动IPTraf 安全完成之后,只要在shell中输入:
1.4.命令行选项 与大多数UNIX系统的命令一样,IPTraf还支持一些命令行参数,虽然不多。以下是iptraf支持的所有功能选项: -i 网络接口 让IPTraf监视特定的网络接口,例如:eth0。-i all表示监视系统的所有网络接口。
网络接口的一般统计信息。
显示特定网络接口的详细统计信息。
对特定网络接口的TCP/UDP数据流量进行监视。
监视局域网的特定网络接口。-l all表示全部。
使IPTraf在指定的时间后,自动退出。如果没有设置IPTraf就会一直运行,直到用户按下退出键(x)才退出。
使IPTraf在后台运行。单独使用无效(被忽略直接进入菜单界面),只能和-i、-g、-d、-s、-z、-l中的某个参数一块使用。
如果使用-B参数,使用-L filename使IPTraf把日志信息写入其它的文件(filename)中。如果filename不包括文件的绝对路径,就把文件放在默认的日志目录(/var/log/iptraf)。
这个参数现在已经不用了。原来,如果IPTraf运行在使用IP地址伪装(IP Masquerading)的内核上时,会出现大量的警告信息。现在新版的IP Masquerading代码已经没有这个问题了。
使IPTraf强制清除所有的加锁文件,重置所有实例计数器。
显示简短的帮助信息
前面已经讲过,不使用任何参数运行IPTraf就会进入菜单界面。使用上、下箭头键移动菜单选择条。还可以使用每个菜单项中加亮的字母作为运行某个菜单选项的快捷键。 2.使用IPTraf
2.1.1.数字表示 IPTraf能够计量接通过的报文数和字节数。因为数字的增长会很快,所以IPTraf使用了一些符号来表示较大的数字,这些符号包括:K(1x10E3)、M(1x10E6)、G(1x10E9、T(1x10E12)。这些符号和它们通常表示的数目不一样。例如:
IPTraf允许同时运行多个进程,但是一次只有一个进程监听某个或者所有的网络接口。不过一般接口统计(General Interface Statistics)功能除外,一次只能有一个进程执行这个操作。 IPTraf的这个特性带来了一个问题,每个进程都要产生日志文件。如果你打开了IPTraf的日志功能,在你使用某个功能时,它都会提示你设置日志文件的名字。这时,你需要自己指定每个示例的日志文件。如果日志文件发生冲突,可能会有无法预料的事情发生。如果你没有指定日志文件的绝对路径,它们就会被记录到默认的日志目录:/var/log/iptraf。 2.1.3.支持的网络接口 IPTraf目前支持如下网络接口: lo 本机回环接口。每台机器都有这个接口,IP地址是127.0.0.1。
以太网接口,n是从0开始的整数。eth0是第一个以太网接口,eth1是第二个网络接口。
FDDI(光纤分布式数字接口)接口,n是从0开始的整数。
PPP(点到点协议)接口,n是从0开始的整数。
SLIP(串行线路接口协议)接口,n是从0开始的整数。
使用ISDN的同步PPP接口,n是从0开始的整数。
ISDN(综合业务数字网)接口。不过ISDN接口的命名比较随意,只有以isdnn命名才能被IPTraf使用。IPTraf支持同步PPP接口、原始IP和Cisco-HDLC encapsulation。
PLIP接口。使用PC并口的一种点到点IP连接协议。
执行IPTraf的IP Traffic Monitor菜单项或者使用-i命令行,你就可以使用IPTraf的IP流量监视功能。使用这个功能,你可以实时地监视在被监听网络接口上通过的所有报文。IPTraf的监视器对IP报文进行解码,显示报文的特定信息,例如:源地址和目的地址。除此之外,它还可以辨别出IP封装的协议(例如:TCP、UDP等),并显示这些协议的某些重要信息。 IPTraf的IP流量监视器有两个显示窗口。每个窗口都可以使用小键盘的up、down键上下滚动。使用w可以切换活动的窗口。
2.2.1.1.IP流量监视器上部窗口显示内容 IPTraf的流量监视器上部的的显示窗口显示当前的检测到的TCP连接。主要包括TCP连接的如下信息: 源地址和端口 报文计数 字节计数 源MAC地址 报文大小 窗口(window)大小 TCP标志(flag) 网络接口
IP流量监视器显示两个方向的TCP流量,窗口最左边的是TCP连接的两端(以主机:端口的格式显示)。为了方便显示,每个TCP连接对都使用[连接到了一起。 IP流量监视器上部窗口的每个条目都包括如下域,注意:在默认情况下,有些域是不显示的,要按m键才能显示: 源地址。端口(Source address and port) 以源地址:端口的格式显示。表示数据的来源。目的地址和端口是[另一头的源地址:端口对。
接收到的报文数目。
收到的字节数。这个数目包括IP、TCP头信息和实际的数据。数据链路层的报头不包括在内。
投递这个报文的MAC地址。要使用这个功能首先要使用配置菜单(Configure)打开Source MAC addrs in traffic monitor功能,然后按m键就可以了。
最近收到报文的大小。要使用m键才能显示。这个值只是IP报文的大小,数据链路包头不包括在内。
最近收到报文的窗口大小。这个项也需要按M键盘才能显示。
最近收到的报文的TCP标志 S 同步标志(SYN),用于建立连接。S---表示发起连接,S-A-表示对连接请求的回应。
确认有效标志(ACK)。
PSH。本报文段请求一次推动(PUSH)。对于发送方,强制协议软件不等一个缓冲区填满就发送所有数据;对于接收方,使TCP不加延迟地将数据提供给应用程序。
URG。表示这个报文包含紧急数据。
RST。重置连接标志。
FIN。发送放不再发送任何数据,关闭连接。
FIN被另一端主机确认。
在使用IP流量监视功能时,IPTraf会启动一个精灵进程rvnamed来加速域名反查的速度。在rvnamed的域名反查完成之后,IPTraf就会使用报文来源的域名来代替IP地址。之所以在IPTraf中使用独一的域名反查程序是因为标准的域名反查调用会阻塞进程,直到域名反查功能完成,比较浪费时间。 2.2.1.3.IP转发和IP地址伪装 如果内核具有IP伪装功能,老版本的IPTraf需要处理警告信息。不过,新版本内核已经对IP转发和IP伪装功能进行了改写,IPTraf不再需要处理有关的错误信息了。因此,-q命令选项已经失去作用。 对于没有IP地址伪装的IP转发,转发主机会在同一个TCP连接出现两次,不过进、出的网络接口是不同的;对于进行IP地址伪装的主机,每个TCP连接的两端分别是内部/外部网地址和接口。 2.2.1.4.连接的关闭(closed)、空闲(idle)和超时(time out) 实际应用过程中,经常会出现一些被关闭、被重置,或者空闲时间很长的连接。如果这些连接太多,IPTraf会自动把活动的连接提到显示窗口的上面。你还可以通过configure->timer->TCP closed/idle persistence...配置菜单设置IPTraf自动清理这些连接的时间,或者使用f键手工清理。 2.2.1.5.显示条目排序 你可以对上部窗口的显示条目进行排序。按s键可以显示一个排序菜单。按p键,会以报文的数量进行排序;按b键,会以字节数进行排序。 2.2.2.底部显示窗口 IP流量监视器的底部显示窗口显示其它种类的网络流量。IPTraf支持以下协议: 用户数据报协议(User Datagram Protocol,UDP)
底部显示窗口可以容纳512个条目。可以使用上下箭头键滚动。如果达到了512个条目,再有新的条目加入,最老的就会被丢掉。某些条目可能很长,你也可以使用左右键滚动显示。使用w切换两个显示窗口的活动状态。 你如果打开了配置菜单(Configure)的Source MAC addrs in traffic monitor功能,IPTraf也会显示收到的非IP报文的来源MAC地址。 2.3.网络接口的一般信息统计(General Interface Statistics) 主菜单的第二个菜单项是网络接口的一般统计功能(General Interface Statistics)。在其显示窗口中,IPTraf会显示被监视网络接口的一些一般统计信息,包括这些网络接口上通过的IP、非IP和坏IP(校验和错误)报文的的数量。还有一个活动指示器显示每秒通过每个网络接口的报文数目,这个活动指示器使用Activity mode配置选项控制开/关的。如果你打开了日志功能(配置菜单的logging选项),所有的统计信息将被复制到/var/log/iptraf/iface_stats_general.log文件中。 你可以按x或者q键回到主菜单。 2.4.网络接口的细节信息统计(Detailed Interface Statistics) 主菜单的第三个功能选项是网络接口的细节统计(Detailed Interface Statistics)功能。除了General Interface Statistics选项提供的统计信息之外,Detailed Interface Statistics选项还提供有关网络接口的其它一些更为详尽的统计信息。它提供如下统计信息: IP报文数和字节数。
你如果想直接启动网络接口的细节统计功能,可以使用如下命令:
这个功能也是按x或者q键回到主菜单。 2.5.统计分析(Statistical Breakdowns) 使用IPTraf的统计分析(Statistical Breakdowns)功能,可以帮助你优化网络设置和监视网络的安全问题。IPTraf的统计分析包括:报文大小分析和TCP/UDP端口分析。 2.5.1.报文大小分析(Statistical Breakdown: Packet Sizes) 在主菜单的选择:Statistical Breakdowns->By packet size就可以进入报文大小分析界面。在老版本的IPTraf中,这个功能属于网络接口细节统计(detailed interface statistics),后来才独立出来。IPTraf根据网络接口最大传输单元(Maximum Transmission Unit,MTU)的大小,划分出20个范围,统计报文大小的分布情况。
你也可以打开日志功能,把报文大小分布信息记录到日志文件中,默认的日志文件名是packet_size-iface.log,其中iface以相关的网络设备名(例如:eth0)代替。 另外,使用以下命令行可以直接进入报文大小分析界面:
2.5.2.TCP/UDP流量分析 IPTraf也可以对流过每个端口(小于1024)的TCP/UDP报文数量进行统计。
注意:显示窗口显示的字节数包括IP包头和IP负载,不包括数据链路头。为了便于区分,TCP和UDP的颜色有所区别,TCP使用黄色,UDP使用绿色。 一些网络程序使用大于1023的端口。例如:有些WEB服务器使用8080端口;htts使用443端口。在默认设置中,IPTraf不对这些端口的流量进行统计。你可以使用Configure->Additional port...菜单项填加另外的端口。 如果你打开了日志功能,TCP/UDP流量分析的默认日志文件是/var/log/iptraf/tcp_udp_services-iface.log,其中iface以相关的网络设备名(例如:eth0)代替。 你也可以对显示条目进行排序。按s键可以显示一个排序菜单;按p键,会以报文的数量进行排序;按b键,会以字节数进行排序;按T键,以进入的报文数排序;按O键,以进入的字节数排序;按F键,以向外的报文数进行排序;按M键,以向外的字节数进行排序;按任意键取消排序。 另外,使用如下命令可以直接进入TCP/UDP流量分析界面:
2.6.局域网工作站统计(LAN Station Statistics) 使用IPTraf的局域网工作站统计功能(LAN Station Statistics),你可以得到局域网节点(在混杂模式下能够监听到的节点,如果是交换网络可能无法实现)流入、流出的报文数量,这项功能对于以太网、FDDI、PLIP有效,但是不能用于本地回环(lo)、ISDN和SLIP/PPP网络。统计信息包括: 进入的报文数目 流入IP报文数 流入总字节数 流入速率 流出报文总数 流出报文数 流出总字节数 流出速率。
你如果打开了日志功能,所有的统计信息就会被保存到/var/log/iptraf/lan_statistics-n.log文件中,n是实例号(iptraf可以在同一台主机上运行多次切互不干扰)。 为了管理方便,你也IPTraf局域网工作站统计功能的显示窗口内的条目进行排序。按s就可以弹出一个排序对话。,然后,按P键,以流入的报文数进行排序;按I键,以流入的IP报文数排序;按B键,以流入的字节数进行排序;按K键盘,以流出的报文数排序;按O键,以流出的IP报文数排序;按Y键,以流出的字节数排序。按任意键取消排序。 按X或者Q键盘可以从局域网工作站统计显示界面退出到主菜单。使用以下命令行可以直接进入局域网工作站统计显示界面:
3.1.TCP过滤器(TCP Filters) 使用这个功能,你可以定义一些参数决定在IP流量监视器显示界面中显示的TCP连接。
3.1.1.定义一个新的过滤器(Defining a New Filter) 默认安装的IPTraf没有任何的过滤器,因此你需要定义自己的过滤器。选择TCP Display Filters->Define new filter...菜单项,会弹出一个对话框让你输入一个简短的过滤器描述。输入完成之后,按回车,会弹出另外一个对话框,要求你输入源地址和目的地址、子网掩码和服务端口。
网络地址可以是单一主机、网络以及整个网络地址空间,由子网掩码决定。例如:
3.1.2.TCP过滤器应用示例
监视主机207.0.115.44和网络202.47.32.0之间的TCP连接:
监视所有的WEB连接:
监视从任意地址到主机202.47.132.2的SMTP端口的流量:
监视主机sunsite.unc.edu之间cebu.mozcom.com的流量:
忽略网络140.66.5.x和任意地址之间的流量
例如:我们想显示所有TCP连接上的网络流量,除了SMTP、WEB端口以及207.0.115.44的连接: Host name/IP address 0.0.0.0 0.0.0.0 Host name/IP address 0.0.0.0 0.0.0.0 Host name/IP address 207.0.115.44 0.0.0.0 Host name/IP address 0.0.0.0 0.0.0.0
过滤器定义完成之后,我们需要使用Applying a Filter菜单项使其生效;可以选择Editing a Defined Filter菜单项,编辑现有的过滤器;选择Deleting a Defined Filter菜单项,删除一个过滤器;选择Detaching a Filter菜单项使一个过滤器失活。这都比较简单,在此就不多做赘述了。
IPTraf还支持其它类型的过滤器。不过,除了UDP过滤器之外,其它协议过滤器都只是开关(是否显示这类协议)而已。UDP协议过滤器的设置和TCP过滤器的设置差不多,这里就不多做赘述了。 4.IPTraf配置
4.1.开关选项 4.1.1.反向查询(Reverse Lookup) IPTraf支持反向域名解析,把IP地址转换为主机名。不过,由于域名反向解析比较慢,因此可能造成丢包。在默认情况下,这个选项是关闭的。 4.1.2.TCP/UDP服务名(TCP/UDP service Names) IPTraf可以使用/etc/services文件把端口号转换为对应的服务名,例如:80端口对应WWW服务。默认情况下,这个选项也是关闭的。 4.1.3.强制混杂模式(Force promiscuous) 打开了这个选项,可以使你自己的网络设备进入混杂模式。这样可以捕获你所在局域网的所有报文,这个选项对以太网和FDDI有效, 4.1.4.色彩(Color) 决定是否采用彩色显示方式。 4.1.5.日志(logging) 打开日志功能,可以使IPTraf把统计和分析结果保存到磁盘,便于以后的分析。有关日志文件的设置,我们在前面已经穿插介绍过了:P 4.1.6.活动模式(Activity mode) 切换速率单位(kbits/s和kbytes/s)。默认的速率单位是kbits/s。 4.1.6.Source MAC addrs in traffic monitor 决定是否在IP流量监视器中显示报文的MAC源地址,对于以太网、FDDI或者PLIP网络接口有效。对于非TCP报文(IP流量监视器的下部分显示窗口)报文的MAC源地址直接在窗口中显示,对于TCP报文(IP流量监视器的上部分显示窗),需要按M键。 4.2.时钟选项(Timers) 你可以使用Timers子菜单设置IPTraf的各种时间间隔和超时时间。
设置空闲连接条目保留的时间,超过这个时间就被一个新的连接代替。默认值是15分钟。 4.2.2.日志更新间隔(Log Interval) 这个选项设置每个多少分钟保存日志信息,默认值是60分钟。 4.2.3.屏幕刷新频率(Screen Update Interval 这个选项设置每间隔多少秒钟刷新屏幕。默认值是0,表示尽可能快地刷新屏幕。 4.2.4.TCP关闭/空闲保留时间(TCP closed/idle persistence) 这个参数决定关闭、空闲和超时的TCP连接在IP流量监视器显示窗口中保留多少分钟。默认值是0,表示一直保留这些连接,直到被新的连接代替。 4.3.信息定置选项 4.3.1.额外的端口(Additional port) 上面讲过,默认情况下,IPTraf只对小于1024的端口号进行流量分析,使用这个选项可以填加你需要进行流量分析的端口。这个选项还可以定义端口范围。 4.3.2.删除端口/端口范围(Delete port/range) 自然是和上面的选项相反了,删除上一个选项定义的端口或者端口范围。 4.4.局域网工作站标志符(LAN Station Identifiers) IPTraf的局域网工作站统计是基于MAC地址的。但是十六进制的MAC地址非常难以记忆,因此IPTraf引入了局域网工作站标志符(LAN Station Identifiers)。使用局域网工作站标志符(LAN Station Identifiers)可以帮助你更好地区别局域网内的工作站。 在主菜单中选择Ethernet/PLIP host descriptions or FDDI host descriptions菜单选项,就会出现一个子菜单,你可以通过这个子菜单填加、编辑删除.局域网工作站标志符。 |