导航:首页 > 网络连接 > 计算机网络数据包捕获与发送

计算机网络数据包捕获与发送

发布时间:2022-05-05 23:24:31

Ⅰ 电脑本地连接的属性里数据包接收和发送是什么意思

首先我们的internet利用的是包交换(packet switching)的通讯方式,因此就有了数据包。
客户端与客户端之间通讯需要相互发送数据包。如果使用面向连接的通讯方式,通讯之前需要发送通讯请求,双方建立连接后方可通信,比如我们用的QQ。
而使用无连接方式的时候是不需要的,比如你在发送email的时候,你只是把数据包发送给邮件服务器,这个过程中是数据包的传递。

电脑网络数据包的发送和收到各代表什么意思

发送的是指你的上网请求,比如说你想打开网络网站,电脑会发送请求到网络上,要求下载网络网站的数据.这个请求表现在数据包上.
收到正好相反,是指从网上发送到你的电脑的数据.这个数据可能是你发送请求后对方的回复数据,也可能是对方主动连接上来发给你的.

Ⅲ winpcap 能不能只捕获网卡收到的数据包,而不捕获网卡自己发送的数据包啊

esolutionProtocol)地址解析协议用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位)[RFC826]。ARP协议是属于链路层的协议,在以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核(如驱动)必须知道目的端的硬件地址才能发送数据。当然,点对点的连接是不需要ARP协议的。

ARP协议的数据结构:
typedefstructarphdr
{
unsignedshortarp_hrd;/*硬件类型*/
unsignedshortarp_pro;/*协议类型*/
unsignedchararp_hln;/*硬件地址长度*/
unsignedchararp_pln;/*协议地址长度*/
unsignedshortarp_op;/*ARP操作类型*/
unsignedchararp_sha[6];/*发送者的硬件地址*/
unsignedlongarp_spa;/*发送者的协议地址*/
unsignedchararp_tha[6];/*目标的硬件地址*/
unsignedlongarp_tpa;/*目标的协议地址*/
}ARPHDR,*PARPHDR;
为了解释ARP协议的作用,就必须理解数据在网络上的传输过程。这里举一个简单的PING例子。
假设我们的计算机IP地址是192.168.1.1,要执行这个命令:ping192.168.1.2。该命令会通过ICMP协议发送ICMP数据包。该过程需要经过下面的步骤:
1、应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动程序);
2、内核检查是否能够转化该IP地址为MAC地址,也就是在本地的ARP缓存中查看IP-MAC对应表;
3、如果存在该IP-MAC对应关系,那么跳到步骤9;如果不存在该IP-MAC对应关系,那么接续下面的步骤;
4、内核进行ARP广播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类型为REQUEST(1),其中包含有自己的MAC地址;
5、当192.168.1.2主机接收到该ARP请求后,就发送一个ARP的REPLY(2)命令,其中包含自己的MAC地址;
6、本地获得192.168.1.2主机的IP-MAC地址对应关系,并保存到ARP缓存中;
7、内核将把IP转化为MAC地址,然后封装在以太网头结构中,再把数据发送出去;

使用arp-a命令就可以查看本地的ARP缓存内容,所以,执行一个本地的PING命令后,ARP缓存就会存在一个目的IP的记录了。当然,如果你的数据包是发送到不同网段的目的地,那么就一定存在一条网关的IP-MAC地址对应的记录。

知道了ARP协议的作用,就能够很清楚地知道,数据包的向外传输很依靠ARP协议,当然,也就是依赖ARP缓存。要知道,ARP协议的所有操作都是内核自动完成的,同其他的应用程序没有任何关系。同时需要注意的是,ARP协议只使用于本网络。

ARP协议的利用和相关原理介绍。

一、交换网络的嗅探

ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,在上面的假设网络中,B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存,将本地的IP-MAC对应表更换为接收到的数据格式,由于这一切都是A的系统内核自动完成的,A可不知道被伪造了。

ARP欺骗的主要用途就是进行在交换网络中的嗅探。有关交换网络的嗅探不是本文的讨论内容。

二、IP地址冲突

我们知道,如果网络中存在相同IP地址的主机的时候,就会报告出IP地址冲突的警告。这是怎么产生的呢?

比如某主机B规定IP地址为192.168.0.1,如果它处于开机状态,那么其他机器A更
改IP地址为192.168.0.1就会造成IP地址冲突。其原理就是:主机A在连接网络(或更改IP地址)的时候就会向网络发送ARP包广播自己的IP地址,也就是freearp。如果网络中存在相同IP地址的主机B,那么B就会通过ARP来reply该地址,当A接收到这个reply后,A就会跳出IP地址冲突的警告,当然B也会有警告。

因此用ARP欺骗可以来伪造这个ARPreply,从而使目标一直遭受IP地址冲突警告的困扰。

三、阻止目标的数据包通过网关

比如在一个局域网内通过网关上网,那么连接外部的计算机上的ARP缓存中就存在网关IP-MAC对应记录。如果,该记录被更改,那么该计算机向外发送的数据包总是发送到了错误的网关硬件地址上,这样,该计算机就不能够上网了。

这里也主要是通过ARP欺骗进行的。有两种办法达到这样的目的。

1、向目标发送伪造的ARP应答数据包,其中发送方的IP地址为网关的地址,而MAC地址则为一个伪造的地址。当目标接收到该ARP包,那么就更新自身的ARP缓存。如果该欺骗一直持续下去,那么目标的网关缓存一直是一个被伪造的错误记录。当然,如果有些了解的人查看ARP-a,就知道问题所在了。

2、这种方法非常狠,欺骗网关。向网关发送伪造的ARP应答数据包,其中发送方的IP地址为目标的IP地址,而MAC地址则为一个伪造的地址。这样,网关上的目标ARP记录就是一个错误的,网关发送给目标的数据报都是使用了错误的MAC地址。这种情况下,目标能够发送数据到网关,却不能接收到网关的任何数据。同时,目标自己查看ARP-a却看不出任何问题来。

四、通过ARP检测混杂模式节点

在混杂模式中,网卡进行包过滤不同于普通模式。本来在普通模式下,只有本地地址的数据包或者广播(多播等)才会被网卡提交给系统核心,否则的话,这些数据包就直接被网卡抛弃。现在,混合模式让所有经过的数据包都传递给系统核心,然后被sniffer等程序利用。
通过特殊设计的ARP请求可以用来在一定程度上检测处于混杂模式的节点,比如对网络中的每个节点都发送MAC地址为FF-FF-FF-FF-FF-FE的ARP请求。对于网卡来说这不是一个广播地址(FF-FF-FF-FF-FF-FF),所以处于普通模式的节点就会直接抛弃该数据包,但是多数操作系统核心都认为这是一个广播地址,如果有一般的sniffer程序存在,并设置网卡为混杂模式,那么系统核心就会作出应答,这样就可以判断这些节点是否存在嗅探器了。

可以查看,很多基于ARP的攻击都是通过ARP欺骗实现的。至于ARP欺骗的防范,还是尽可能使用静态的ARP。对于WIN,使用arp-s来进行静态ARP的设置。当然,如果能够完全使用静态的IP+MAC对应,就更好了,因为静态的ARP缓存只是相对的。

当然,可以有一些方法来实现ARP欺骗的检测。设置一个ARP的嗅探器,其中维护着一个本地网络的IP-MAC地址的静态对应表,查看所有经过的ARP数据,并检查其中的IP-MAC对应关系,如果捕获的IP-MAC对应关系和维护的静态对应关系对应不上,那么就表明是一个欺骗的ARP数据包了。

一个ARP数据包发送程序源代码和编译好的EXE程序可以参考ARPSender程序。注意:需要先安装WinPcap。

协议分析六类常见错误
协议分析器是网络管理员库中最强有力的工具之一。它能将难处理、耗时长、让CEO们感到恼火甚至不得不重启所有机器的问题转变为能短时处理、易于在每周例行状态报告中反映的问题,为公司省下大量的时间与金钱。

然而,就像其它任何复杂工具一样,它必须被适当运用才能获得最大的效益。在使用协议分析器诊断网络故障时,应当尽量避免……

错误1分析器误置

正确放置分析器对快速诊断故障具有决定性作用。设想分析器是置于网络中的窗口,犹如建筑物窗口一般,视野的改变依赖于从哪个窗口看出去。从南面窗口望去是看不到建筑物北面高速公路上交通的拥挤状况的。在分析置于网络不当位置的分析器时,跟踪往往要花很长时间。那么,怎样正确放置分析器呢?我们可以举例说明。

以下为几个可能出现的问题及原因分析:

设想A:一台主机,服务器A,主机不能与其它任何主机通信。可能的原因:

1)服务器A没有正确配置;

2)服务器A配置的网卡出错;

3)服务器A所在局域网出了问题;

4)服务器A所在局域网段出错。

设想B:一台主机,服务器B,主机不能与远程网X中的任何一台主机通信;且局域网或其它远程网中的主机无任何故障(这就意味着问题不可能出现在服务器B或服务器B所在局域网段上)。

可能原因:

1)服务器B有关网络X的部分配置错误;

2)服务器B用于连接到网络X的路由器所在网段的连接出了问题;

3)服务器B所在局域网与网络X的一处或多处链接出了问题;

4)网络X用于连接到服务器B所在网络的路由器所在网段出了问题;

5)网络X出了问题。

设想C:一台主机,服务器C,主机不能与局域网中另一主机通信,但与网络中其它主机通信正常(这意味着问题不可能出现在服务器C或服务器C所在局域网段)。

可能的原因:

1)主机C错误配置;

2)主机C网卡出现故障;

3)主机C所在局域网段出了问题。

设想D:一台主机,服务器D,主机不能与一远程主机通信,但与服务器D所在局域网段的其它主机通信正常,到远程网或远程网自身的连接亦无故障。

可能原因:

1)主机D错误配置;

2)主机D网卡出错;

3)主机D所在局域网段出了问题。

这些问题当中个别的不用分析器也可诊断或排除。例如:设想A中的第三种情况,就能通过检查服务器A所在局域网的其它主机决定故障所在;设想D中的第二和第三种情况亦能通过这种方法确定(假设主机D能与局域网中其它主机通信)。

一台服务器或主机的错误配置通过检测很容易被发现。但另外一些问题,像网络或网段中的故障,就需要分析器来诊断。

在以上所有可能的设想中,一开始或许会将分析器置于离最有可能出现问题的主机或是怀疑有问题的网络、网段尽可能近的地方,但是如果未发现有意义的问题,得准备好移动分析器,要知道,在出现故障的位置被确定以前,所做的一切都是建立在猜想基础上的。在以上设想B的第三种情况中,服务器B所在局域网和网络X中都应该有分析器,至少分析器应该能够从一端被移动到另一端。

例如,一次故障中,一台服务器突然停止了工作。人们起初怀疑是站点人员对服务器实施了误操作所致,实际上跟踪器表明,是因为众多主机向服务器发送连接请求信息的同时服务器却没有响应,致使服务器死锁。

在花了几天时间来判断到底服务器出了什么问题后,被告知观察跟踪器,于是请求站点操作员将跟踪器从主机所在局域网(这里指设想B中第三种情况的网络X)移到服务器所在局域网。结果发现访问控制列表没有被正确添加到服务器所在局域网的路由器上,这份错误的访问控制列表过滤了所有来源于客户端主机所在网络的信息。假若当初多一些怀疑的话,就会发现在服务器所在局域网中根本就没见到过连接请求信息。因为没有同时查看网络两端的情况,致使站点很多天不能工作。

怎么知道跟踪器在网络的哪一端起作用呢?在跟踪器中,发自客户端主机的帧信息都具有实客户端所有的源MAC地址,与此同时,目标MAC地址则存放在路由器中。

不幸的是,问题变得越来越复杂,仅仅知道分析器连接于哪个网络还不够。当将一个局域网分解成多个部分时,首要的是去找到空闲Hub端口或同轴电缆的分接头,然而,在网络交换环境下,并不是仅仅将分析器接入交换设备的空闲端口就万事大吉了。

大多数交换设备都具备将特定端口指定为分接头或映像端口的能力,只是所用术语因交换设备制造厂商不同而有别。如果所有来自或发往特定端口的通信同样能发送到映像端口,这时只要将分析器连接到映像端口,所有设置即告完成。

但问题在于有些交换设备不能将两端口之间的通信发送到映像端口。举例说,在双工环境下,作为监控的连接之一部分的两台主机能同时发送信息,交换机也能接收每帧数据并将其传输到链接中的另外端口。但对于映像端口,必须对某一数据帧进行缓冲,如果这样处理了太多帧,缓冲区就会溢出,数据帧就会丢失,跟踪因此变得不可靠。更糟的是,根本就不知道是在跟踪不可靠的线索。

某些交换设备支持内部分析器功能,这类交换机本身能够俘获传向被跟踪对象的数据帧。这种功能部件的可靠性依赖于交换机的缓冲容量。在某些情况下,我们不得不选择映像端口或是内部分析器方式。但只要有可能,最好是将主机之一和分析器连接到Hub,并将Hub挂到交换机上。

为什么这么做呢?这是因为即使确信交换机有足够容量缓存所有数据帧,以至于映像端口或内部分析器不可能丢数据,跟踪仍然是不可靠的。例如,标准以太网中,一个处于交换机有故障端口的RJ45连接器每当交换机向服务器传输数据帧时都会创建交互式会话,交换机将此解释成为一次冲突并停止工作,当尝试16次之后数据帧就会撤消,但数据帧仍被发送到映像端口,因此跟踪器发现了数据帧并显示服务器响应失败。另一种情况是:不合规格的配线导致1%的数据帧破坏。如果将分析器与第一种情况(任何位置的数据帧都能传送)中提到的的主机一起挂到Hub,或者与第二种情况(网络中有被破坏的数据帧)中主机一起挂到Hub,接收交换机的端口会在未将数据帧发往映像端口之前就将它们撤消,跟踪器没有任何错误指示。当然,每当改变一种方式,都得冒一定风险来纠正可能出现的意外问题。如果RJ45连接器出现故障仅仅是因为没有在交换机端口将其固定好,那么只要将连接器重新插入Hub,故障或许也就不存在了,至少问题是得到了解决。

另外需要记住的是,对于交换设备,在其网段内每个端口都是有效的,因此当连接到服务器的交换端口未发现问题时,应将Hub(或分析器)移动到主机或路由器交换端口。

还有,注意不能将Hub挂到双工环境。有些分析器能以双工方式工作,这类分析器有两个以太网口和一个功能模块,功能模块将通信对分为两部分,并分别发送到每一以太网口,之后软件把从每个以太网口接收来的数据结合成单一的跟踪链。如果网络是双工环境,就需要这种分析器。

错误2过多的过滤

过滤功能允许协议分析器忽略某些数据帧,从而为感兴趣的帧腾出更多的俘获缓冲空间。如果能过滤来源于较高协议层的数据,如IP地址和端口号以至更高层数据,则分析器几乎很少需要基于源或目标MAC地址的过滤。然而,实际跟踪中通常出现的问题是过滤太多。

有一个站点出现过这样的故障:服务器与一特定客户端之间的连接出了问题,莫名其妙地断开了,其它客户端都没有任何问题。由于客户端与服务器处在同一子网,一旦发生断开现象,使客户端与服务器恢复连接的唯一办法是重新启动服务器。

这个站点安装了分析器,同时因为数据量大,配置了过滤器,只允许俘获两主机(基于MAC地址)之间的数据帧。前两天中没有发现问题,但在第三天问题出现了:跟踪表明服务器突然停止了发送多路会话和最后一次会话。当从服务器端ping客户端时,跟踪器显示服务器没有发送任何数据帧。站点操作员得出的结论是:TCP栈或操作系统出了问题。

于是请求另一次跟踪,这次没有使用过滤器。一天半以后俘获了另一事件:跟踪清楚表明服务器持续发送数据,而与此同时却再也没有得到应答。经过更深层挖掘,发现服务器数据帧的目标MAC地址突然改变了。

既然目标MAC地址不再与客户端的相匹配,那么第一次未使用过滤器的跟踪就不再俘获到MAC地址,同时表明服务器已停止了工作。另外发现就在地址改变之前,服务器无故收到带有为客户端IP地址配置的新MAC地址的ARP信息包,这导致服务器升级ARP缓存并向错误主机发送数据。

通过ARP数据帧的源MAC地址由无故发送ARP的主机向下跟踪,不知何故,主机居然同时配置了复用于客户端的静态IP地址和DHCP地址。当主机启动时,分配的是静态地址,这与服务器相冲突,于是调用DHCP,正确地址才配置上。

基于这一点可得出这样一个结论:用过滤器看似很有道理,但很多时候问题的根源往往以假象出现在过滤器之外,如果跟踪器没有表明问题的起因,过滤器应当关闭,或至少应当扩展一下,直至跟踪器确实查出原因。仅当所有过滤器都关闭后跟踪器仍无法查出问题起因,才可以得出结论——对网络已无计可施了。

错误3

俘获时帧太短

前面例子中表明,站点操作员使用过滤器是因为网络中数据量过大。分析器仅能俘获大约3分钟时间的数据,这使得站点操作员几乎不可能发现问题的发生并使分析器及时加以阻止以真正找到问题的起因。分析器能够俘获数据帧而没有将它们填入俘获缓冲区的时间长短取决于网络的速度、网络中帧的数量、帧的大小以及俘获缓冲区的大小。

几乎所有分析器都能控制俘获数据帧的大小,这在处理连接问题和不太高协议层问题时显得很有用。在通常情况下,只要俘获数据的第一个64字节也就足够了。因此,如果网络中所有帧都是1024字节而仅有3分钟俘获时间,那么仅俘获64字节将允许有超过30分钟的俘获时间。

错误4

触发器安装不正确

触发器告诉分析器执行某项操作,比如终止俘获。当等待问题发生而又不知道将何时发生时,触发器显得很有用。

安装触发器意味着没有必要随时以手动方式来控制分析器。触发器安装的最大问题往往是没有正确定义,这会大大延长解决问题的时间。

当然,应该详细知道怎样安装触发器,并且,若有可能,在使用之前进行测试。有时可以安装另一台分析器来发送触发数据帧,以确认俘获分析触发器已正确安装。

使用触发器带来的另一问题是,许多分析器允许设置将被预触发的俘获缓冲区的百分比。举例来说,可以指定50%的缓冲区在触发之前俘获,而另外50%的缓冲区在触发之后俘获。预触发的百分比通常是0、25、50、75或100。

如果预触发值设置不当,就有可能俘获不到足够的相关数据帧来诊断问题所在。预触发值有可能被错误设置是因为其默认设置对现行问题往往不适用:也许是因为未将针对前一问题的设置升级,也许是因为粗心的鼠标操作或错误按键。无论何种原因,一定要确认触发器已正确安装。

那么怎样来设置呢?通常是将预触发百分比设为100%,以知道是什么原因导致触发器关闭。

当然,只有当触发器在触发某事件时,它才处于关闭状态。过去使用过特殊的触发程序,它能测试状态,然后发送信息包,分析器可将此信息包用作触发器。测试状态可以是日志文件中的错误信息,或是上例中无法创建连接的情况。一般整个程序也就一百多行或稍长一些。

错误5

日期/时间设置不正确

没有正确设置分析器上的日期/时间看似一件小事,很多时候可能也确实是这样。然而,当处理广域网络中的问题时,有时同时运行两台分析器,网络每端一台,则正确设置日期/时间是相当有用的。

如果将两台分析器时钟设置相同,调整跟踪会变得更为容易。假定在一个例子中,通过发现通用帧并比较时间,会发现其中一台用了4小时37分,比另一台提前了15.7891秒,如果时钟设置同步误差在1到2秒,时间差距计算也就容易多了。

另外,如果需要费劲地随主机中的事件调整跟踪,由于基于时间包的同步是不可选的,则设置相同的日期/时间绝对具有实质意义。

错误6不理解协议

很多分析器具有“专家分析”功能,指的是它们能保持对信息的追踪,像序列号、时间信息、显示重传信息、冻结窗口、无应答状态等等。这类分析相当有用,但也有可能造成误导,尤其在分析器没有正确报错时。

举个例子,有一种情况:从一远程位置发来的远程登录会话无法建立,而发自局域工作站的远程登录会话却没有问题。于是站点操作人员在远程登录服务器所在的局域网挂一分析器,跟踪器表明从远程主机到远程登录服务器的数据帧没有报错;于是他们得出结论是操作系统故障。

另一位操作人员查看跟踪器发现,局域端远程登录会话连接到端口2323,而远程会话连接到端口23。另外,远程登录服务器响应远程连接请求的信息包包含了RST标志设置。

在这里,站点操作人员没有仔细查看TCP细节,因此没有意识到不同端口号和RST包的重要性,他们依赖来源于分析器的诊断信息,既然远程登录服务器的端口23没有安装,凭感觉猜想也认为是操作系统出了问题。然而,若站点工作人员了解TCP和远程登录,他们就会立即发现问题所在并能在5分钟内找到一个好的解决办法。

事实上是,他们等半天时间来安装跟踪器,结果失去了远程网上数目相当可观的客户。

Ⅳ 在计算机网络中怎样抓包

计算机网络里抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全等等。
以Sniffer软件为例说明:数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会带来安全方面的问题。每一个在局域网(LAN)上的工作站都有其硬件地址,这些地址惟一地表示了网络上的机器(这一点与Internet地址系统比较相似)。当用户发送一个数据包时,如果为广播包,则可达到局域网中的所有机器,如果为单播包,则只能到达处于同一碰撞域中的机器。在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单地忽略这些数据)。如果某个工作站的网络接口处于混杂模式(关于混杂模式的概念会在后面解释),那么它就可以捕获网络上所有的数据包和帧。

Ⅳ 网络数据包捕获及分析

推荐以下:

sniffer pro 4.70.530汉化注册版
sniffer pro,NAI公司出品的可能是目前最好的网络协议分析软件之一了,支持各种平台,性能优越,做为一名合格的网络管理员肯定需要有这么一套好的网络协议分析软件了,只是有点大请用下载工具下载。SN:SA154-2558Y-255T9-2LASH

Ethereal 0.10.10
·这是一款免费的网络协议分析程序,支持Unix、Linux、Windows, 它可以直接从网络上抓取数据进行分析,也可以对由其他嗅探器抓取后保存在硬盘上的数据进行分析。 你能交互式地浏览抓取到的数据包,查看每一个数据包的摘要和详细信息。Ethereal有多种强大的特征, 如支持几乎所有的协议、丰富的过滤语言、易于查看TCP会话经重构后的数据流等。

软件名称: Netcap
软件类型: 国产软件/免费软件
软件语言: 简体中文
运行环境: Win9X/Win2000/WinXP/
软件简介: 网络数据捕获手,是一款捕获到达你计算机的所有网络数据包的工具,只要有网络数据包到达你的计算机,它就能捕获到,并获得数据包的源地址、源端口、目的地址、目的端口、所使用的协议等等数据,绝对是你的好帮手。免费绿色版,不写注册表。

你还可以试试各种XX数据包捕获器

如何截获网络数据包截获的原理是什么

网络数据报文的拦截有很多层面的拦截,不知道你想讨论的是什么层面的拦截

1)网卡层面的截获(截获和自己同网段的计算机发送的信息,包括送往自己的数据包)
这个拦截过程得从网络数据包发送和接受原理说起
一个网络数据报文的发送过程是这样的:
a)发送方的应用层将要发送的数据报文,通过Socket调用提交TCP/IP层
b)TCP/IP层经过层层封装,将这些数据报文封装成IP数据报文,送往数据链路层,一般以太网用的是802.X的桢结构,封装成数据祯。
c)以太网数据链路层是使用一个叫做MAC地址的东西来标识网口的,每一网口的MAC地址都是世界唯一的。
d)数据链路层将目的方的MAC地址和自己的MAC地址分别填入目标MAC和源MAC的字段中,发送到物理层(也就是网线上)
网络数据报文的接受过程是这样的:
每个网卡在收到物理链路上发送来的数据桢之后,都会自动检测收到的这个MAC地址是否和自己的网卡MAC地址相同,如果相同,则接受,否则就丢弃。
这样就可以实现对于数据包的过滤过程。

而很多网络拦截工具,例如Sniffer或者Ethereal,都将网卡的这个功能给打破了。
他们定义了一个网卡所谓的混杂模式,在这里,网卡不管收到的这个数据包是否是给自己的(目的MAC和自己网卡的MAC是否相同),都往上层送,都能对数据流进行分析。
这个是网络层面拦截的基本原理。

2)应用层和Socket层面的拦截
这个方法主要是通过系统Hook的方式来实现,例如一台计算机打算往网络发送东西,一般情况下应用程序都不会自己开发网络协议层,都会??

其实我的 原理就是 网络无所不能。

阅读全文

与计算机网络数据包捕获与发送相关的资料

热点内容
不能使用公用网络怎么设置 浏览:416
网络安全神器哪个最好 浏览:473
计算机网络自顶向下的考试 浏览:456
驱动网络异常怎么解决win10 浏览:743
计算机网络公司上班照片 浏览:499
电信光猫wifi连上了但是没有网络 浏览:366
sim卡无法连接网络 浏览:587
无法读取网络连接服务器 浏览:309
无线网络优化路测作用 浏览:185
廊坊市华通计算机网络咨询 浏览:42
网络共享失败怎么回事 浏览:422
wifi和移动网络怎么扣通用流量 浏览:815
电脑怎么能使用移动网络 浏览:94
网络歌手双笙是哪个公司的 浏览:625
北大网络教育如何报名 浏览:779
主动连接质量好的网络 浏览:658
网络seo公司报价多少钱 浏览:447
网络的延迟是多少 浏览:113
中国网络贷款有多少没收上的 浏览:642
赣州银行网络异常 浏览:963

友情链接