网络监听的目的

/ns/cn/jc/data/20020806023829.htm


  


(摘自cpcw, 作者不详)


  截获通信的内容

  首先,这些工具对网络上主机间的通信,能给出一个详细的,逐包的统计信息。入侵者可以选择某一台主机,看看它正在同那些主机进行通信,使用了哪些协议(通过端口号可以区分出来),传输一些针么内容。

  对于这类工具,常常可以设置详细的过滤条件,可以针对信息的源主机、目的主机、使用的协议、使用的端口以及包的长度来设置过滤条件,也可以是这些条件的逻辑组合。

  下面是使用snoop发现的主机asy&.vineyard.net和主机next之间后段对话:

  #snoop
  asy8.vineyard.netànext SMTP C port=1974
  asy8.vineyard.netànsxt SMTP C port=1974 MALL FROM: next àasy8.vineyard.net SMTP C PORT=1974 250 Asy8.net à SMTP C port=1974
  Asy8.vineyard.net à next SMTP C port=1974 RCPT TO: Nextàasy8.vineyard.net SMTP C port=1974 250 Asy8.vineyard.net ànext SMTP C port=1974.
  Asy.vineyard.netànext SMPT C port=1974 DATA .
  Next àasy8.vineyard.net SMTP c PORT =1974 354 Enter mail,end.

  在这个例子中,一个邮件消息在从asy8.vineyard.net到计算机next的传播过程中被监听。如上所述,它能给出一个详细的报告,诸如系统中各个用户都在干什么。
  对于入侵者来说,最喜欢的莫过于用户的口令。其实,在大多数情况下,监听到的包中,用户的口令也就像上面的“DATA rN“一样,完全是明文形式,并且很容易找出来,因为人们没有采取任何形式的加密措施。而且口令往往是在一次通信的最开始的几个数据包中,只要找到了两台主机间连接的开始,便很容易找到认证用的口令。

  6.2.2 对协议分析

  所有的监听软件都可以对数据包进行详细分析,直到每一个字段的含义。

  这是Solaris中的snoop使用的一个例子。这一命令监听网络接口/dev/le,

  将监听到的数据包存于文件saved中。

  # snoop -o saved
  Using device /dev/le (promiscuous mode)
  23 c

  在监听了23个包之后,中断了监听。然后,可以使用snoop读取文件saved中的信息,并按照协议的格式,详细地输出包头的信息。这个命令监听不到包中传输的信息(被子该命令有意过滤掉了)。因此,这一命令是学习TCP/IP的一个最好的实例,读者不妨详细研究一下不同协议层次,不同协议中的数据包的内容和格式。

  # snoop -I saved -tr -v
  ETHER:------------Ether Header------
  ETHER:
  ETHER: Packet 21 arrived at 17:02:;29.70
  ETHER: packet size =85 bytes
  ETHER: Desstination =0:20:af:3b:bb:8f,
  ETHER: Source =8:0:3e:30:28:87,Motorola VME bus processor
  Module
  ETHER: Ethertype =0800 (Ip)
  ETHER:

  包的最外部分是以太帧头。

  IP:-----------IP Header ----------
  IP:
  IP: Version =4
  IP: Header length =20 bytes
  IP: Type of service =0x00
  Ip: xxx……..=0 (precedence)
  IP: …0…=normal delay
  IP: ….0...=normal throughput
  IP: …..0.. =normal rellability
  IP: Total length =71 bytes
  IP: Tdentification =2014
  IP: Flags =0x0
  IP: .0……=may fragment
  IP: ..0….. =last fragment
  IP: Fragment offest =0 bytes
  IP: Time to live =30 seconds/hops
  IP: Protocol =17 (UDP)
  IP: Header checksum =0714
  IP: Source address =11.22.33.41, source.host
  IP: Destination address =192.33.4.12, c.root ?servers.ndt
  IP: No options
  IP:

  紧跟着以太帧头的是IP分组的头部信息。

  UDP:-----------UDP Header--------
  UDP:
  UDP: Source port =53
  UDP: Destination port =53 (DNS)
  UDP: Length =51
  UDP: Checksum =2167
  UDP:

  IP是网络层,网络层之上是传输层。这个包在传输层使用了UDP协议。

  DNS:---------DNS:--------
  DNS:
  DNS: “ “
  DNS:

  使用应用层的是域名解析服务。

  这是一个在网络上传输的一个包的信息分解。实妹的包由于使用的是流协议,许多翻译片信息是用一些位来表示的。并不能直接阅读和理解。从上面的解释得知,这是个DNS解析的数据包,传输层使用的是UDP协议,应用层使用了DNS服务。该协议将一个主机名映射为IP地址。

  让我们来看另一个监听的数据包:

  ETHER: ---------Ehter Header ------
  ETHER:
  ETHER: Packet 55 arrived at 17:02:31.14
  ETHER: Packet size =64 bytes
  ETHER: Destination =0:a0:c9:49:cc:a5’
  ETHER: Source =0:20:af:3b:bb:8f,
  ETHER: Ethertype =0880(IP)
  ETHER:
  IP:--------IP Header-------
  Ip:
  Ip: Version =4
  IP:Header length =20 bytes
  IP:Type of service =0x00
  IP: xxx…..=0 (precedence)
  IP: …0… =normal delay
  IP: …..0…normal throughput
  IP: ……..0..=normal rellability
  IP: Total length =44 bytes
  iP: Identication =12513
  IP: Flags =0x0
  IP: .0……=may fragmrnt
  IP: …0……=last fragment
  IP: Fragment offest =0 bytes
  IP: Time to live =59 seconds/hops
  IP: Protocol =6 (tcp)
  IP: Header checksum =bc42
  IP: Source addrees =11.22.33.42, gaper
  IP: Destination address ==11.22.41.18, butterfly
  IP: No options
  IP:
  Tcp: -----tcp Header -------
  TCP:
  TCP: Source port =2927
  TCP: Destination port =25 (SMTP)
  TCP: Sequence number =950073857
  TCP: Acknowledgement number =0
  TCP: Data offset =24 bytes
  TCP: Flags =0x02
  TCP: ..0…..=No urgent pointer
  TCP: …0….=No acknowledgement
  TCP: ….0……=No push
  TCP: ……0……=No reset
  TCP: ………1. =Syn
  TCP: …………0 =No FIN
  TCP: Window =16384
  TCP: Checkwum =0x8753
  TCP: Urgrnt pointer =0
  TCP: Options: (4 bytes)
  TCP: -Maximum segment size =1460 bytes
  TCP:
  SMTP:---------SMT0:-----
  SMTP:
  SMTP: “ ‘
  SMTP:

  http://www.linuxaid.com.cn: http://www.linuxaid.com.cn/support/showfom.jsp?i=290