1、1. 硬件问题及评估系统诊断命令主要用来对硬件配置及性能进行诊断,目前主要提供以下诊断功能:1) HT(Hyper Threading)问题诊断2) 硬件性能评估1.1 HT问题诊断(jflow stat)Panaos在某些打开了CPU HT(Hyper Threading)选项主机上CPU调度功能不能正常工作,主要表现为数据处理CPU不能正确切换,因此,要想确保Panaos的调度能正常工作,一般需要在BIOS里关闭HT。通过jflow stat命令可以发现Panaos的调度是否正常工作。下面是执行一次该命令的屏幕输出:# floweye jflow statjflow_pkt_count=0
2、jflow_loop_count=404695071jflow_mbuf=0x0jflow_stage=21event_qsize=2047event_count=0event_reader=0event_writer=0主要看jflow_loop_count这个计数器,如果在两次命令执行之间,这个参数一直没有变化,或者第一次执行时,这个参数为0,那么就表示Panaos的调度没有正常工作,HT肯定被打开了,需要在BIOS里将HT关掉。1.2 硬件性能评估(if sendpkt)为了方便合作伙伴快速并方便的诊断自己采购的硬件设备的性能,Panabit在10.04版本中集成了一个用来测试设备网络性
3、能的工具,这个工具由if sendpkt来触发。下面先介绍一下如何构建测试的环境。构建测试环境的工作很简单,只需要被测试机和一根或几根网线即可。假如想测试设备上em0和em1两个网络端口之间的性能,可以如下实现:1) 将em0和em1设置成网桥模式(注意:必须属于同一个网桥)2) 将em0和em1用网线连接起来3) 使用if sendpkt命令发种子包4) 使用if stat命令查看实时em0和em1上的实时统计结果If sendpkt命令格式如下:If sendpkt if-name packet-num packet-size其中:1) if-name:网卡的名称,比如em0或em12)
4、packet-num:发送种子包的个数,一般使用32或643) packet-size:发送种子包的长度,比如64、128和256等等例如:if sendpkt em0 32 64,就表示发送32个长度为64字节的UDP数据包(注意,Panabit使用UDP数据包作为测试种子包,目前还不支持其它类型的数据包)。使用这个命令后,就可以测试从em0到em1方向上的64字节数据包时的性能。如果想同时测试两个方向的性能,只需要执行一次if sendpkt em1 32 64命令即可,if stat命令会显示两个方向上的统计结果。如果只想测试硬件的裸体性能(就是不经过Panabit业务逻辑),可以在执行
5、if sendpkt命令之前,先将网卡设置成软件bypass模式(注意不是硬件bypass),具体命令如下:# floweye if set name=em0 bypass=1# floweye if set name=em1 bypass=12. 对象统计分析根据对象类型,网络流量统计命令可以分为几个大类:1) 网卡流量统计:统计网卡流量以及收发包信息2) 应用流量统计:统计应用或应用组流量信息3) IP流量统计:统计某个内网IP流量信息4) 应用对象统计:统计QQ号码,MSN账号和共享用户等信息5) 数据库信息显示2.1 网卡流量统计(if stat, if get)If stat命令主要
6、用来查看网卡数据速率(bps),收发包速率(pps)和TCP、UDP以及网卡上面的寄存器信息,它的格式为:If stat if-name如果指定网卡名称(if-name),则显示该网卡内部驱动所统计到的信息,比如寄存器信息,网卡队列信息等等。如果不指定任何网卡,则显示所有网卡的统计信息,下面是一个统计例子:ix3 9823.46M 9823.48M 959322 959324 0 0 9823.46M 9823.48M 0 0 959322 959324 0 0ix1 9823.48M 9823.46M 959324 959322 0 0 9823.48M 9823.46M 0 0 95932
7、4 959322 0 0上面输出总共有15列,每列顺序如下:name bps-in bps-out pps-in pps-out bps-tcpin bps-tcpout bps-udpin bps-udpout pps-tcpin pps-tcpout pps-udpin pps-udpout pps-syn pps-synack其中:1) name 表示网卡名称2) bps是bit per second的简写3) pps是packet per second的简写4) in表示输入,out表示输出5) syn表示TCP的SYN包6) synack表示TCP的SYN-ACK包if get命令用
8、来获取某个网卡上的统计信息,比如下面的输出:quota=20mtu=1500zone=insidemode=0ifdesc=82545EM_COPPERpeer=nonedriver=PANAOSlink-state=upmacaddr=00:0C:29:67:51:F7rx-byte=185973rx-pkt=1417rx-tcp-byte=168970rx-tcp-pkt=1328rx-udp-byte=14543rx-udp-pkt=48tx-byte=0tx-pkt=0tx-tcp-byte=0tx-tcp_pkt=0tx-udp-byte=0tx-tcp-pkt=0invalid-p
9、kt=0no-buffer=0tx-drop=0watchdog-events=0big-packets=0bps-in=0 bps-out=0 bps-tcp-in=0 bps-tcp-out=0 bps-udp-in=0 bps-udp-out=0 pps-in=0pps-out=0pps-tcp-in=0pps-tcp-out=0pps-udp-in=0pps-udp-out=0上面每一行的输出含义自明,这里不再赘述。2.2 应用流量统计(app stat)应用流量统计命令可以根据用户指定的参数或选项显示对应的应用流量统计信息,这些统计信息包括如下内容:1) 当前连接数2) 当前节点数3
10、) 累计上下行流量和总流量4) 最近10分钟上下行流量和总流量5) 流量所占列表项的百分比6) 当前的上下行速率和总速率下面是app stat的命令格式:app stat app=XXX sort=xxx bridge=xxx showsum其中:1) app表示应用名称或应用组名称。比如app=p2p表示显示P2P协议组里的所有应用统计信息;2) sort表示排序方式。sort=all表示按照累计总流量排序; sort=last表示按照最近10分钟总流量排序;sort=bpsup表示按照当前上行速率排序;sort=bpsdn表示按照当前下行速率排序;sort=bps表示按照当前总速率排序;s
11、ort=allup表示按照累计上行流量排序;sort=alldn表示按照累计下行流量排序;sort=lastup表示按照最近10分钟上行流量排序;sort=lastdn表示按照最近10分钟下行流量排序;sort=flow表示按照当前连接数排序;3) bridge表示网桥编号。0表示整个系统;14分别表示网桥1至网桥4;58表示虚拟链路1至4;4) showsum表示是否在最后显示一行汇总信息,如果没有这个参数,则表示不显示汇总信息;下面是一次输出结果:default 未知应用 0 0 155.18K 0 155.18K 81.66 135.78K 0 135.78K 87.61 0 0 0 h
12、ttps HTTPS 8 0 584.43K 0 584.43K 3.16 124.89K 0 124.89K 4.36 0 0 0 .thunder 迅雷 0 0 0 0 0 0.00 0 0 0 0.00 0 0 0每列的含义依次如下:应用英文名;应用中文名;应用连接数;应用节点数;累计上行流量;累计下行流量;累计上下行流量之和;累计流量所占百分比;最近10分钟上行流量;最近10分钟下行流量;最近10分钟累计上下行流量之和;最近10分钟累计流量所占百分比;上行速率;下行速率;上下行总速率。2.3 内网IP流量统计(ipobj get,ipobj listflow,ipobj listipa
13、, ipobj list)当打开“内网IP统计”选项后,Panabit就会记录并统计每个它所检测到的内网IP的相关信息,这些信息包括:1) 汇总信息(比如流入和流出速率,TCP和UDP连接数)2) 身份信息(比如QQ号码,MSN账号,POP3账号)3) 共享用户信息4) 连接数信息5) 当前应用流量信息Ipobj get命令用来获取汇总信息,它的格式为:ipobj get ip-address# floweye ipobj get 192.168.0.2addr=192.168.0.2ttl=600life=6181inbytes=692.30K outbytes=1.04M bpsin=0
14、bpsout=0 flowcnt=2tflowpassed=0uflowpassed=0bindmac=0mac=00.1c.bf.83.26.57其中ttl表示该IP的生存期,如果在这个时间内没有流量的话,该IP对象就会从系统那个中删除掉;bindmac表示是否做IP和MAC地址绑定(目前这个字段只是保留,并没有实现);life字段表示该IP从第一次检测到现在所存在的时间;其它字段不言自明,这里就不赘述了。ttl和life的单位均为秒。Ipobj listflow命令用来列出某个IP地址当前所有的TCP和UDP连接信息,它的格式为:ipobj listflow ip-addr app。app
15、为可选参数,如果指定app,则只显示属于该app的连接,app可以是一个单独的应用,也可以是一个应用组比如ipobj listflow 192.168.0.2 p2p显示192.168.0.2的所有p2p连接。下面是一条连接的信息:67 HTTPS tcp 192.168.0.2:2855-192.168.0.20:443 1624 3040 83 4664 0 0其中:1)67表示这条连接从创建到现在存在了67每秒;2)HTTPS表示这是一条HTTPS应用连接;3)tcp表示这是一条TCP连接;4)192.168.0.2:2855-192.168.0.20:443包含连接的IP地址和端口信息
16、;5)1624和3040为连接正反两个方向的流量分别为1624Bytes和3040Bytes,4664是这两个数之和;6)83表示该连接的剩余生存期为83秒身份信息和共享用户信息使用appobj list命令显示,请参考它的使用说明。Panabit会实时记录分析内网IP的当前流量信息,用户可以使用ipobj listipa命令,命令使用方式如下:ipobj listipa ip xxx.xxx.xxx.xxx s in|out|all app app-name其中:1)-ip参数表示指定IP地址,可以指定某个IP地址,也可以指定一段IP地址或一个子网段;2)-s参数指定排序方式,in表示按照应
17、用流入速率排序,out表示按照应用流出速率排序,all表示按照应用总速率排序。3)-app指定应用或应用组ipobj listipa命令输出的每一行格式如下:ip地址 应用英文名称 应用中文名称 应用流入速率 应用流出速率 应用总速率那么,用户如何能得到目前在线的内网IP列表呢?这可以使用ipobj list命令,ipobj list命令格式如下:ipobj list -ip ip-addr -s all|in|out|allbps|inbps|outbps|flowcnt|ipaddr|account|natip -n xx其中:1)-ip 参数指定要显示的IP地址及其范围,比如10.1.1
18、.1-10.1.1.255,也可以指定单个IP地址;2)-s参数指定如何对显示结果排序,all、in和out分别对应总流量、流入流量和流出流量;allbps、inbps和outbps分别对应总速率、流入速率和流出速率;flowcnt指按照连接数排序;ipaddr表示按照IP地址排序;account表示按照身份信息个数排序;natip表示按照共享用户数排序;3)-n xx参数表示只显示前xx项;Ipobj list命令针对每个IP,输出一行信息,每行信息对应的字段含义从前到后依次为:1)IP地址2)在线时间(以秒为单位)3)TTL4)连接数5)MAC地址6)流入流量7)流出流量8)流入速率9)流
19、出速率10)身份信息数11)共享用户数2.4 应用对象统计(appobj list)在Panabit中,像MSN账号、QQ号码、POP3账号以及共享用户等信息都是作为应用对象(Application Object)来管理的。可以使用appobj list命令来显示系统中的所有应用对象。需要注意的是,这个命令没有提供过滤功能,所以需要自己使用grep或其它的方式进行过滤。appobj list命令显示的每一行为一个对象,每行格式如下:type type-description object-id ip-address last-time其中:1) type为对象的类型.qq表示对象为QQ号码;m
20、sn表示对象为MSN账号;lip表示共享用户;2) type-description是对对象类型的描述性信息;3) object-id根据对象类型不同,内容也不一样。如果type为qq,那么object-id就是QQ号码,其它类推;4) ip-address为该对象所属的内网IP地址;5) last-time为该对象最后一次检测到的时间;2.5 数据库信息显示(chart dump,chart rowlist)Panabit有一个进程叫ipe_datamon,这个进程主要功能就是维护Panabit数据库,它主要负责下面的事情:1)定期从Panaos采集各种数据对象的信息(目前缺省的是5分钟采集
21、一次),比如网卡流量信息,应用流量信息等;2)所有数据都保存在内存中,最多保存30天的数据记录;3)每隔5小时将内存中的数据刷新到CF卡或硬盘上,保存的数据文件名为panabit.rrd;4)接受floweye的数据库操作命令,比如chart dump命令;chart dump命令使用方式如下:chart dump bridge=n hours=nn tmend=nnn tag=tag1 tag=tag2 tag=tagN其中:1) bridge参数用来指定要显示的网桥或虚拟链路,0表示整个系统,14表示网桥1网桥4,58表示虚拟链路14;2)hours和tmend两个参数决定了要显示时段的数
22、据,命令显示的时段为tmend hours * 3600, tmend;不在时段之外的数据不显示;3)tag参数用来指定要显示的字段。比如p2p.thunder.flow表示迅雷连接数;p2p.thunder.bpsout表示迅雷上下速率;p2p.thunder.bpsin表示迅雷下行速率;p2p.thunder.bps表示迅雷总速率;em0.ppsin表示网卡em0的流入pps;em0.ppsout表示网卡em0的流出pps;em0.pps表示网卡em0的总pps。具体tag 参数可以参见Web界面脚本里的实现。对于每个tag,chart dump输出如下内容:TAG tag-name ta
23、g-descDATA time value上面的TAG和DATA为关键字,time的单位为秒,value是该时刻的值。需要注意的是,chart dump会自动根据时长给出相应间隔的数据,比如1周时长的时段的数据实际上就是数据库里若干条数据平均后的结果。用户也可以使用chart rowlist命令显示最后一次采集的数据,具体显示的内容其含义不言自明,这里离就不举例了。2.6 IP群组1)添加IP群组floweye table add 群组名称2)删除IP群组floweye table remove群组序号1)添加IPfloweye table addip 群组序号 添加的IP2)删除IPflow
24、eye table rmvip 群组序号 添加的IP群组序号是根据IP群组名称下拉列表从上而下,从1开始依次加13. 配置管理Panabit的配置管理主要包括:1) 网络配置2) 应用参数配置3) 节点管理4) 内网伪IP防护5) 网桥带宽配置6) 内网IP统计选项配置3.1 网络配置(ifconfig,route,if set,em setspeed)Panabit的网络配置方面比较简单,主要包括:1) 管理口配置2) 数据口配置管理口由FreeBSD直接管理,所以它的配置是使用FreeBSD的ifconfig(配置接口)和route(配置路由)命令。比如,将管理口fxp0的IP地址配置成1
25、92.168.1.100/24,使用下面命令即可做到:#ifconfig fxp0 192.168.1.100/24或者#ifconfig fxp0 192.168.1.100 netmask 255.255.255.0route命令用来增加或删除路由,比如下面的命令用来添加缺省网关为192.168.1.1:#route add default 192.168.1.1数据口主要使用floweye的if set命令,它的使用方法如下:If set name=if-name mode=n zone=inside|outside其中:1) if-name为网卡名称,如em0, em1等等;2) mo
26、de为网卡模式,0表示监控模式,1,2,3和4分别表示网桥1,网桥2,网桥3和网桥4;3) zone表示网卡接入位置,inside表示接内网,outside表示接外网;如果数据接口是Intel千M卡(比如82571/2/3/3/5/6芯片),那么可以使用em setspeed命令设置网卡的协商模式(如自动协商、强制1000M全双工等)。em setspeed命令使用方式为em setspeed if-name speed,其中:1) if-name为网卡名称,如em0, em1等;2) speed为网卡协商速率设置,auto表示自动协商,1000LX表示单模强制全双工,1000SX表示多模强制
27、全双工,1000T表示电口强制全双工;需要注意的是,设置网卡协商模式命令发出后,Panaos会reset网卡,所以会出现短暂的断网,请尽量避免在有高流量的时候做设置。3.2 应用参数配置(app set)对于每个应用协议,目前有三个标准参数可供配置:1) 连接老化时间,指连接没有通过流量时的最大生存时间,以秒为单位。2) 节点老化时间,指节点没有新建连接时的最大生存时间,以秒为单位。3) 是否缓存节点,指是否缓存节点,游戏协议一般会打开此选项。app set命令格式为:app set app-name flowttl=nnn nodettl=nnn cachesn=yes|no其中,flowt
28、tl、nodettl和cachesn分别对应上述三个参数。3.3 节点管理(node add, node remove)节点在Panabit中是一个很重要的概念,它对性能的提升有着很重要的作用。所谓节点,实际上就是一个IP地址和端口的二元组,比如一个游戏服务器的IP地址和端口。Panabit所识别的很多应用协议都打开了节点缓存功能,在某些极端情况下,节点缓存会导致一些误识别,在出现这样的情况下,可以通过node add命令强制将误识别的节点修正或使用node remove强制将它删除。它们的使用方法如下:node add ip-address port app-name typenode re
29、move ip-address port其中:1) ip-address为节点的IP地址2) port为节点的端口号3) app-name为节点应用类型4) type为节点的4层协议类型,如tcp表示TCP类型,udp表示UDP类型,both表示既是TCP,又是UDP3.4 内网伪IP防护(ipverify addip, ipverify rmvip,ipverify clearip, ipverify enable, ipverify disable)由于网络中病毒的问题,经常会出现一些恶意攻击包,其中有很多攻击包的源地址是伪造的,这些非正常的数据包会给Panabit带来一系列的问题:1)
30、内网IP池很快被耗尽,导致正常的IP流量不能统计。2) 连接池很快被耗尽,导致正常的连接信息不能记录,因而无法分析网络流量。基于上述两个缘故,并且出于Panabit自身功能正常运转的目的,Panabit内置了一个内网伪IP防护模块。这个模块的工作原理如下:1) 用户通过ipverify addip命令将内网合法的IP地址或IP段告诉Panabit2) 当Panabit接收到一个IP包后,它先判断其源IP(如果是从内网卡进来的包)或目的IP(如果是从外网口进来的包)是否在合法IP表中,如果在,就进入正常的应用分析模块;如果不在,直接将此数据包当做“内网伪IP”应用,进入策略处理模块。Panabi
31、t缺省情况下,对这种类型的数据包是做放行处理的,如果用户需要对此类数据包进行处理,就需要在策略组中添加相应的处理策略。另外,在缺省情况下,内网伪IP防护模块是没有打开的,用户可以使用ipverify enable命令打开此模块,也可以使用ipverify disable功能关闭它。需要注意的是,如果打开此功能模块而没有将合法的内网IP地址或地址段告诉Panabit,那么正常的流量就会被Panabit标记成“内网伪IP”,从而影响设备的正常使用。用户可以使用ipverify addip将合法内网IP地址添加到IP池进行操作,比如:1) ipverify addip 192.168.1.1,将19
32、2.168.1.1添加到池中2) ipverify addip 192.168.1.1-192.168.1.3,将192.168.1.1、192.168.1.2和192.168.1.3添加到池中3) ipverify addip 192.168.1.0/24,将192.168.1.0/24整个C类网段添加到池中同样的,也可以使用ipverify rmvip来删除池中的某个或某些IP地址,比如命令ipverify rmvip 192.168.1.1将192.168.1.1从池中删除。如果想一次性清空池中的所有IP地址,可以使用ipverify clearip命令,这个命令没有任何参数。3.5 网
33、桥带宽配置(policy setgbw, policy getgbw)我们经常碰到在某些特殊的环境下要对某种关键应用做带宽保证或预留。Panabit在实现带宽预留或保证的时候采取的算法非常简单,就是从总带宽中抠出要预留或保证的部分。如果要想做到这一点,Panabit就需要知道系统的总带宽有多少,用户可以使用policy setgbw命令告诉Panabit。policy setgbw命令的使用非常简单:policy setgbw bridge=n in=nnn out=nnn name=xxx其中:1) bridge参数让用户选定网桥,1,2,3和4分别表示网桥1、网桥2、网桥3和网桥4;2)
34、in参数设置网桥的下行带宽;3) out参数设置网桥的上行带宽;4) name参数是可选的,用来设置网桥的名称;所有带宽参数的单位均为kbps,所以1000就表示1Mbps。如果想获取这些参数,则可以使用policy getgbw命令,这个命令的输出很简单,在此就不再赘述了。3.6 内网IP统计选项配置(ipobj setarg)在专业版里,内网IP统计选项缺省时关闭的,如果要打开这个选项,就需要是用ipobj setarg命令,它的使用方式如下:ipobj setarg enable=1|0 ttl=nnn其中:1) enable选项表示是否打开内网IP统计功能,1表示打开,0表示关闭2)
35、ttl用来设置内网IP的老化时间,当在此时间内没有流量时,系统就会将IP地址从表中删除,ttl的单位为秒,系统缺省值是1800秒。4. 日志管理和接口Panabit目前可以向外界输出其记录下来的行为,输出方式有:1) 以NETFLOW v5格式输出给netflow服务器2) 以文本方式输出给syslog服务器3) 以Panabit专用格式输出给Panabit日志服务器或第三方提供的服务器我们可以将Panabit的日志根据内容简要分为两大类:1) 网络事件。比如连接终止,URL访问,QQ登陆和退出,MSN登陆,POP3登陆和DNS查询;2) 网络流量。比如应用协议流量,内网IP流量。目前Pana
36、bit对以下网络事件进行记录:1) 连接终止。每条连接信息包括连接创建和结束的时间,4层协议5元组(源地址,目标地址,源端口,目标端口,协议),应用协议信息(应用类型,流量)。2) URL访问。记录URL访问记录,比如哪个IP在何时访问了哪个网站的哪条URL。3) QQ登陆和退出。记录QQ用户登陆和退出的日志,比如哪个IP何时通过什么样的QQ号码登陆到哪个服务器。4) MSN登陆。同上类似。5) POP3登陆。同上类似。6) DNS查询。记录用户访问DNS记录,比如哪个IP何时通过哪个DNS服务器查询了哪个域名。4.1 网络事件日志配置(logger config, logger stat)l
37、ogger config命令的使用方式如下:logger config arg1=value1 arg2=value2 argN=valueN目前支持下面的参数:1) logflow=none|syslog|netflow;2) logqq=none|syslog|mem;3) logmsn=none|syslog|mem;4) logpop3=none|syslog|mem;5) logdns=none|syslog|mem;6) syslog_serverip=xxx.xxx.xxx.xxx,SYSLOG服务器IP地址。7) syslog_serverport=nnn,SYSLOG服务器端
38、口。8) netflow_serverip=xxx.xxx.xxx.xxx,NETFLOW服务器IP地址。9) netflow_serverport=nnn,NETFLOW服务器端口。在上面参数中,”none”表示不记录日志;”syslog”表示以SYSLOG方式输出日志;”netflow”表示以NETFLOW v5格式输出日志;”mem”表示将日志输出到buffer中。例如:配置QQ事件floweye logger config event=qq logtype=syslog logip=日志服务器IP logport=日志服务器端口其中各个域之间通过一个空格隔开其它事件类型如下:MSN事件
39、: event=msnDNS事件:event=dnsPOP3事件:event=pop3用户认证事件:event=usrauth共享用户检测:event=natip节点跟踪事件:event=ipnodeurl事件:event=url连接撤销事件:event=flow飞信登录事件:event=fetion淘宝登录事件:event=taobao新浪微博事件:event=sinaweibo流量日志配置如下:floweye logger_ip=日志服务器址 logger_port=日志服务器端口 logger_internal=发送时间间隔各个域之间通过一个空格隔开发送时间间隔以秒为单位配置完后,用户可
40、以通过logger stat命令查看当前各个参数的值,logger stat的输出比较简单,这里就不举例了。4.2 显示缓冲区中网络事件日志信息(logger dumpbuf, logger clearbuf)有时为了调试或其它某种目的,需要将日志信息保存到某个缓冲区中,并显示保存在该缓冲区中的信息。Panabit可以通过logger config命令的XX_savetomem参数来控制相应的日志内容是否保存中,如果对应的参数是1,则表示保存在内存中;否则就通过SYSLOG输出到SYSLOG服务器上。用户在设置了上述选项后,可以使用logger dumpbuf命令查看保存在该缓冲区的所有日志内
41、容。可以通过logger clearbuf命令清楚缓冲区中的所有日志信息。需要注意的,一旦该缓冲区已满,后续的日志将会被丢弃,而不是覆盖老的日志,同时, logger dumpbuf命令也不会自动清楚缓冲区的内容。4.3 网络事件日志内容格式网络事件主要以SYSLOG或NETFLOW格式输出,其中SYSLOG居多(目前只有连接终止事件才会使用NETFLOW v5格式)。当采用SYSLOG方式输出事件日志时,每个时间占用一行,并且以“”字符串开始,后面跟描述时间内容的字符串。如果SYSLOG服务器是共用的话,用户可以将这个字符串作为标识,表示这个来自于Panabit设备的时间日志输出。注意,“n
42、”为设备标识(请看4.6),是用户设置的一个整数,缺省值为0。4.3.1 QQ登陆退出事件QQ登陆事件 := “qqlogin” + 登录时间 + QQ号码 + 登录地址 + 登录服务器地址QQ退出事件 := “qqlogoff” + 登录时间 + QQ号码 + 登录地址 + 登录服务器地址其中各个域之间通过一个空格隔开,各个域分别描述如下:(1) 登录时间:登录时的时间,一个以秒为单位的整数字符串(2) QQ号码:一个整数字符串(3) 登录地址:QQ登录的计算机IP地址,格式为xxx.xxx.xxx.xxx的字符串(4) 登录服务器地址:QQ服务器地址,格式为xxx.xxx.xxx.xxx的
43、字符串4.3.2 MSN登陆事件MSN登陆事件 := “msnlogin” + 登录时间 + email帐号 + 登录地址 + 登录服务器地址其中各个域之间通过一个空格隔开,各个域分别描述如下:(1) 登录时间:登录时的时间,一个以秒为单位的整数字符串(2) email帐号:用户的MSN帐号(3) 登录地址:MSN登录的计算机IP地址,格式为xxx.xxx.xxx.xxx的字符串(4) 登录服务器地址:MSN服务器地址,格式为xxx.xxx.xxx.xxx的字符串4.3.3 DNS查询事件QQ查询事件 := “dnsquery” + 查询时间 + 域名 + 源地址 + DNS服务器地址其中各个
44、域之间通过一个空格隔开,各个域分别描述如下:(1)查询时间:查询时的时间,一个以秒为单位的整数字符串(2)域名:要查询或者解释的域名,比如(3)源地址:客户机的地址,格式为xxx.xxx.xxx.xxx的字符串(4)DNS服务器地址:DNS服务器地址,格式为xxx.xxx.xxx.xxx的字符串4.3.4 POP3登陆事件POP3登陆事件 := “pop3login” + 登陆时间 + 账号 + 源地址 + POP3服务器地址其中各个域之间通过一个空格隔开,各个域分别描述如下:(1)登陆时间:登陆时的时间,一个以秒为单位的整数字符串(2)账号:登陆时使用的账号(3)源地址:客户机的地址,格式为
45、xxx.xxx.xxx.xxx的字符串(4)POP3服务器地址:POP3服务器地址,格式为xxx.xxx.xxx.xxx的字符串4.3.5 URL访问事件URL访问事件 := “www” + 访问时间 + 源地址 +“GET|POST” + HOST + URL其中各个域之间通过一个空格隔开,各个域分别描述如下:(1)访问时间:登陆时的时间,一个以秒为单位的整数字符串(2)源地址:客户机的地址,格式为xxx.xxx.xxx.xxx的字符串(3)HOST:如(4)URL:如/forum/index.php4.3.6认证事件认证事件:=“usrauth”+ 登陆时间 + 源地址 + 账户 + ma
46、c地址其中各个域之间通过一个空格隔开,各个域分别描述如下:(1)访问时间:登陆时的时间,一个以秒为单位的整数字符串(2)源地址:客户机的地址,格式为一个点分制字符串(3)账户:如010002342345(4)mac:客户机的mac地址4.3.7应用节点事件应用节点事件:=“ipnode” +节点时间 + 节点地址 + 节点端口号 + 应用标识其中各个域之间通过一个空格隔开,各个域分别描述如下:(1)节点时间: 节点获取时间,一个以秒为单位的整数字符串(2)节点地址:节点地址,格式为xxx.xxx.xxx.xxx(3)端口:节点端口号(4)应用编识:一个整数标识4.3.8共享用户检测事件共享用户检测事件:natip + 时间 + IP地址 + 私有IP地址其中各个域之间通过一个空格隔开,各个域分别描述如下: (1) 时间:检测到事件的时间,一个以秒为单位的整