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