源:http://hi.baidu.com/leifenglian/item/763e551248b3e2453a176e8a
评:
监听原理
在详细说用JPCAP实现网络监听实现前,先简单介绍下监听的原理。
局域网监听利用的是所谓的 “ARP欺骗”技术。在以前曾经一段阶段,局域网的布局是使用总线式(或集线式)结构,要到达监听只需要将网卡设定为混杂模式即可,但现在的局域网络普遍 采用的是交换式网络,所以单纯靠混杂模式来达到监听的方法已经不可行了。所以为了达到监听的目的,我们需要“欺骗”路由器、“欺骗”交换机,即“ARP欺 骗”技术。
假设本机为A,监听目标为B。
首先,伪造一个ARP REPLY包,数据链路层头及ARP内容部分的源MAC地址填入A的MAC地址,而源IP部分填入网关IP,目的地址填入B的MAC、IP,然后将这个包 发送给B,而B接收到这个伪造的ARP REPLY包后,由于源IP为网关IP,于是在它的ARP缓存表里刷新了一项,将(网关IP,网关MAC)刷新成(网关IP,A的MAC)。而B要访问外 部的网都需要经过网关,这时候这些要经过网关的包就通通流到A的机器上来了。
接着,再伪造一个ARP REPLY包,数据链路层头及ARP内容部分的源MAC地址填入A的MAC地址,而源IP部分填入B的IP,目的地址填入网关MAC、IP,然后将这个包 发给网关,网关接收到这个伪造的ARP REPLY包后,由于源IP为B的IP,于是在它的ARP缓存表里刷新了一项,将(B的IP,B的MAC)刷新成(B的IP,A的MAC)。这时候外部传 给B的数据包经过网关时,就通通转发给A。
这样还只是拦截了B的数据包而已,B并不能上网——解决方法是将接收到的包,除了目的地址部分稍做修改,其它原封不动的再转发出去,这样就达到了监听的目的——在B不知不觉中浏览了B所有的对外数据包。
相关推荐
ARP(地址解析协议)是TCP/IP协议栈中的一个底层协议,它的主要功能是将网络层的IP地址转换为数据链路层的物理MAC地址。在局域网中,当一个设备想要向另一个设备发送数据时,如果只知道对方的IP地址,就需要通过ARP...
ARP(Address Resolution Protocol,地址解析协议)是TCP/IP协议栈中的一个关键组件,它用于将网络层的IP地址映射到数据链路层的MAC地址,以便于数据在网络中传输。然而,ARP协议的缺陷使得它容易遭受攻击,特别是...
ARP协议主要用于将网络层的IP地址解析为数据链路层的物理地址(MAC地址)。在网络通信中,设备间的数据传输依赖于MAC地址进行,而IP地址则用于标识网络中的设备。ARP协议通过发送ARP请求并接收ARP响应来完成这一过程...
以太网主要在OSI模型的物理层和数据链路层工作,属于网络低层协议。它是一种典型的总线型协议,数据速率为10Mbps的同轴电缆系统。 **1.1.1 基于网络架构的以太网** 以太网采用了分层的通信协议。OSI模型将协议层次...
Jpcap是一个能够控制数据链路层数据包的JAVA扩展包。本文阐述了Jpcap包的结构与功能,给出了利用Jpcap扩展包调用WinPcap来实现截取网络数据包的简单网络嗅探器的方法,并通过实例进行了实验。 网络嗅探器(Network ...
此方法返回一系列的`NetworkInterface`对象,每个对象都包含了对应网络接口的基本信息,如名称、描述、IP地址、MAC地址以及数据链路层的名称和描述等。 **示例代码**: ```java NetworkInterface[] devices = ...
标签“源码”意味着我们将关注Jpcap的源代码层面,了解其内部工作原理和如何集成到自己的Java项目中。“工具”则暗示Jpcap作为一个工具库,可以用于开发各种网络诊断或监控应用。 压缩包内的文件名称列表包括: 1. ...
ARP是TCP/IP协议栈中的一个关键组件,其主要作用是将网络层的IP地址转换为数据链路层的MAC地址,以便于在局域网内进行数据传输。在网络流量监控中,通过ARP协议,我们可以获取到设备的物理地址,这有助于跟踪和管理...
Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...
ARP是连接物理层与数据链路层的关键桥梁,它负责将网络层的IP地址映射到物理层的MAC地址,使得数据能够在不同网络设备之间正确传输。在这个名为"Proyecto-de-Redes-Computadoras:ARP请求项目"的实践中,我们将深入...