网络监听软件 Sinffit 使用手册
/ns/wz/soft/data/20010108041005.htm
网络监听软件 Sinffit 使用手册
--------------------------------------------------------------------------------
Sniffit是由 Lawrence Berkeley 实验室开发的,运行于 Solaris,SGI和Linux等平台的一种免费网络监听软件,具有功能强大且使用方便的特点。使用时,用户可以选择源、目标地址或地址集合,还可以选择监听的端口、协议和网络接口等。这一工具的一些命令行参数如下:
※ -t<IP nr/name>检查发送到<IP>的数据包。
※ -s<IP nr/name>检查从<IP>发出的数据包。
以上两个参数都可以用@来选择一个IP地址范围,例如:-t 199.145.@和 -s 199.14@
※ -p<port>记录连接到<port>的信包,port为0意味着所有的端口。port缺省值是0。
★注意:-t或-s适用于TCP/UDP数据包,对ICMP和IP也进行解释。而-p只用于TCP和UDP数据包。
※ -i交互模式,忽略其他参数。如下所示是一些能与除了,-i之外参数组合使用的命令行参数:
※ -b等同于同时使用了-t和-s,而不管使用了-t和-s中的哪一个。
※ -a以ASCII形式将监听到的结果输出。
※ -A<char>在进行记录时,所有不可打印字符都用<char>来代替。
※ -P protocol选择要检查的协议,缺省为TCP。可能的选择有:IP、TCP、ICMP、UDP或它们的组合。
假设有两台主机在一个子网中,一台正在运行sniffer,另一台主机的IP地址是nnn.nnn.nn.nn,一些例子如下:
想要记录从主机nnn.nnn.nn.nn上的一些用户的口令:
sniffit:~/# sniffit -p 23 -t nnn.nnn.nn.nn
想要记录到主机nnn.nnn.nn.nn的ftp服务:
sniffit:~/# sniffit -p 21 -l 0 -t nnn.nnn.nn.nn
记录所有发出和发往主机nnn.nnn.nn.nn的电子邮件信息:
sniffit:~/# sniffit -p 25 -l 0 -b -t nnn.nnn.nn.nn &
或者
sniffit:~/# sniffit -p 25 -l 0 -b -s nnn.nnn.nn.nn &
想要使用有菜单的界面:
sniffit:~/# sniffit -i
网络出现一些错误,想要查看控制消息:
sniffit:~/# sniffit -p icmp -b -s nnn.nnn.nn.nn
将口令记录在以nnn开始的文件中,可以用cat nnn*来查看:
sniffit:~/# sniffit -p 23 -A . -t nnn.nnn.nn.nn
或者
sniffit:~/# sniffit -p 23 -A ^ -t dummy.net
下面是运行sniffit的一个例子:
# sniffit -a -A . -p 23 -t 11.22.33.@
入口参数的设置非常简单,为:-a接收所有信息;-A将不可打印字符用"."代替;-p监听端口23;-t 目标地址在11.22.33 子网范围(可以只监听一台主机或者是源主机)。使用-s 参数可以指定监听的源主机。网络监听程序的人口参数其实非常简单,只要具有初步的网络知识便可以正确地使用它们。以下是监听到的部分结果:
Packet ID from-1P.port-to IP.port) : 11.22.33.41.1028-11.22.33.14.23
E..35.0. .....!.(.......K.2.P.”/.:....vt100..
出现vtl00的字样,是使用Telnet服务时,源主机与目标主机进行终端类型协商,在这一阶段源主机告诉目标主机自己使用的终端类型,这是一次远程终端服务的开始。在这之后,很可能就会传输用户的登录名和口令字。这里很清楚,使用端口1028的是客户端,而使用端口23的是服务器端。
Packet ID (from IP・port-to IP・port) : 11.22.33.41.1028-11.22.33.14.23
E..+6.@ ......!.............K.2CP.!....
Packet ID (from IP.port-to IP.port):11.22.33.41.1028-11.22.33.14.23
E..+9.0. ......!............:K.21P.!...
Packet ID (fromIP.port_ to_ 1P.port) : 11.22.33.41.1028-11.22.33.14.23
E..):.@. ......!.............K.21P.!.......1
Packet ID (fromIP.port-tO-1P.port) : 11.22.33.41.1028-11.22.33.14.23
E..( ;.@. ......!.............K.2JP.!....
Packet ID (fromIP.port-tO-1P.port) : 11.22.33.41.1028-11.22.33.14.23
E..)<.@. ......!.............K.2JP.!....
Packet ID (fIOmIP.port-to-1P.port) 11.22.33.41. 1028-11.22.33.14.23 -.
E..)<.@. :.....!.............K.2JP.!....x
...
Packet ID (fIOmIP.Polt-tO-1P.port卜11.22.33.41.1028-11.22.33.14.23
E..<=.@........!.....:.......K.2KP.!....
Packet ID (froln IP.port-to IP.port):11.22.33.41.1028-11.22.33.14.23
E..)>.@. ......!.............K.2KP.!......g
Packet ID (fromIP.port-to-1P.port卜11.22.33.41.1028-11.22.33.14.23
E..(?.@. ......!.............K.2LP.!....
可以看到,客户端向服务器发送出了几个包,其中有可打印字符,连起来就是“lxg\这很可能就是用户名了。
Packet ID (froln IP.port-to IP.port) : 11.22.33.41.1028-11.2233.14.23
E..)C.@. ......!.............K.2WP.!...7
Packet ID (from IP.port-to IP.port):11.22.33.41.1028-11.22.33.14.23
E..)D.0. ......!.............K.2WP.!....
Packet ID (froln IP.port-tO〕P.port) : 11.22.33.41.1028-11.22.33.14.23
E..)D.0. ......!......:......K.2WP.!...2
Packet ID (fronI IP.port-to IP.port) : 11.22.33.41.1028-11.22.33.14.23
E..)E.@. ......!............K.2WP.!.....1
Packet ID (frOmIP.port-tO-1P.port卜11.22.33.41.1028-11.22.33.14.23
E..)F.@. ......!.............K.2WP.!.......2
Packet ID (frorrt IP.port-to IP.port) : 11.22.33.41.1028-11.22.33.14.23
E..)c.@. ...已..!.............K.2WP.!.......1
Packet=ID (from IP.port-to IP.port):11.22.33.41.1028-11.22.33.14.23
E..)H.0. ......!.............K.2MP.!.......6
Packet ID (from IP.port-to IP.port) : 11.22.33.41.1028-11.22.33.14.23
E..)1.@. ......!.............K.2WP.!....
又得到了一个字串,连起来是“721216”。这应该是用户的口令了。
Packet10(fromIP.port-to-1P.port) : 11.22.33.41.1028-11.22.33.4`.23
E..)M.@........!.............K.4.P..E.....e
Pacbt1D(fromIP.port-tO-1P.port) : 11.22.33.41.1028-11.22.33.41.1028
E..(N・@........!.............K.4.P..D..
PaCketID(fromIP.port-to-1P.port) : 11.22.33.41.1028-11.22.33.41.1028
E..)0.@........!.............K.4.P..D.....x
Packet1D(fromIP.port-tO-1P.port) : 11.22.33.41.1028-11.22.33.41.1028
E..(P.0........!.............K.4.P..C..
PacketID(fromIP.port-to-1P.port) : 11.22.33.41.1028-11.22.33.14.23
E..)Q.@........!.............K.4.P..C......i
Packet1D(fronlIP.port-to-1P.port) : 11.22.33.41.1028-11.22.33.41.1028
E、・)R.@........!.............K.4.P..B.....t
Packet1D(frolnIP.port-tO-1P.port) : 11.22.33.41.1028-11.22.33.41.1028
E..(3.@........!.............K.4.P..A...
可以看到,这个用户执行了一个命令: exit。全部连起来,易知这个连接的有效部分是:
..........vtl00..1xg..........721216..........exit..........
事实上, sniffit完全可以产生这样一个综合的结果,并且在本目录下生成一个类似于xxx.xxx.xxx.xxx.nn-yyy.yyy.yyy.yyy.mm为文件名的文件。其中,
xxx.xxx.xxx.xxx和yyy.yyy.yyy.yyy是两个IP地址,而mm和nn是通信双方的端口号。
另外,这个工具还可以用在交互模式下,在此模式下:
※F1 or"1" 输入一个主机地址进行监听,该主机发送数据包。
※F2 or"2" 输入一个主机地址进行监听,该主机接收数据包。
※F3 or"3" 输入一个端口号进行监听,该主机是发送数据包的。
※F4 or"4" 输入一个端口号进行监听,该主机是接收数据包的。
※F5 or"5" 使用参数<frOm IP> <frOm port> <to IP> <to port>来启动一个程序。现在,在sniffit中,可以加入一种称为ToD的程序,英文名字是“TOuch ofDeatch”,也叫做“TCP杀手”。当监听到一个TCP连接(这个连接是某两台主机间的TCP连接,与监听程序所在的主机一点关系也没有)时,按下F5键,便可以将这个无辜的TCp连接切断。可以想象,当某一个用户好不容易连到一台主机,正准备工作时,连接突然中断,需要重新进行连接,这时候该多丧气呀。这种方法的原理其实很简单,只是向一个TCP连接的其中一台主机发送一个断开连接的IP包(将IP包的RST位设置为1)即可