快捷搜索:   服务器  安全  linux 安全  MYSQL  dedecms

原始套接字透析之实现sniffer

  大家知道,以太网采用广播机制,所有与网络连接的工作站都可以看到网络上传递的数据。通过查看包含在帧中的目标地址,确定是否进行接收或放弃。如果证明 数据确实是发给自己的,工作站将会接收数据并传递给高层协议进行处理。但是,如果让网卡置于混杂模式(Promiscuous mode),则网卡不会鉴别帧的MAC地址,而是一律接收。

  

  上图给出了以太网的帧格式,网卡是通过图中的MAC地址进行ID标识的。传说中的网络嗅探(sniffer)就是指让网卡进入混杂模式从而接收正在局域 网总线上发送的所有报文。为什么能够嗅探到局域网上的所有报文,是因为基于IEEE 802.3的以太网在MAC层采用广播方式发送帧。因此,从理论上来讲,我们可以编写黑客程序监听局域网上的所有信息。QQ、MSN监听软件就是基于这一 机理的,它可以监听局域网上所有用户的QQ、MSN聊天记录。

  为了实现sniffer,我们应首先让网卡进入混杂模式并建立和设置原始套接字为亲自处理报头:

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论