抓包软件抓到一些不存在的mac地址的数据包

抓包软件抓到一些不存在的mac地址的数据包,第1张

记录一些底层网络协议的细节, 假定读者已经熟悉如何使用抓包工具 Wireshark 并且对以太网通讯协议有兴趣

(以下正文)

--

打开Wireshark主程序, 指定一块网卡, 开始抓包

这里我抓到一个典型>

启动wireshark后,选择工具栏中的快捷键(红色标记的按钮)即可Startanewlivecapture。主界面上也有一个interfacelist(如下图红色标记1),列出了系统中安装的网卡,选择其中一个可以接收数据的的网卡也可以开始抓包。在启动时候也许会遇到这样的问题:d出一个对话框说NPFdriver没有启动,无法抓包。在win7或Vista下找到C:\system\system32下的cmdexe以管理员身份运行,然后输入netstartnpf,启动NPf服务。重新启动wireshark就可以抓包了。抓包之前也可以做一些设置,如上红色图标记2,点击后进入设置对话框,具体设置如下:Interface:指定在哪个接口(网卡)上抓包(系统会自动选择一块网卡)。Limiteachpacket:限制每个包的大小,缺省情况不限制。Capturepacketsinpromiscuousmode:是否打开混杂模式。如果打开,抓取所有的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。Filter:过滤器。只抓取满足过滤规则的包。File:可输入文件名称将抓到的包写到指定的文件中。Useringbuffer:是否使用循环缓冲。缺省情况下不使用,即一直抓包。循环缓冲只有在写文件的时候才有效。如果使用了循环缓冲,还需要设置文件的数目,文件多大时回卷。Updatelistofpacketsinrealtime:如果复选框被选中,可以使每个数据包在被截获时就实时显示出来,而不是在嗅探过程结束之后才显示所有截获的数据包。单击“OK”按钮开始抓包,系统显示出接收的不同数据包的统计信息,单击“Stop”按钮停止抓包后,所抓包的分析结果显示在面板中,如下图所示:为了使抓取的包更有针对性,在抓包之前,开启了QQ的视频聊天,因为QQ视频所使用的是UDP协议,所以抓取的包大部分是采用UDP协议的包。3、对抓包结果的说明wireshark的抓包结果整个窗口被分成三部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。使用wireshark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。上图的数据包列表中,第一列是编号(如第1个包),第二列是截取时间(0000000),第三列source是源地址(1151553993),第四列destination是目的地址(11515539112),第五列protocol是这个包使用的协议(这里是UDP协议),第六列info是一些其它的信息,包括源端口号和目的端口号(源端口:58459,目的端口:54062)。中间的是协议树,如下图:通过此协议树可以得到被截获数据包的信息,如主机的MAC地址(EthernetII)、IP地址(Internetprotocol)、UDP端口号(userdatagramprotocol)以及UDP协议的具体内容(data)。最下面是以十六进制显示的数据包的具体内容,如图:这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便的对各种协议的数据包进行分析。4、验证网络字节序网络上的数据流是字节流,对于一个多字节数值(比如十进制1014=0x03f6),在进行网络传输的时候,先传递哪个字节,即先传递高位“03”还是先传递低位“f6”。也就是说,当接收端收到第一个字节的时候,它是将这个字节作为高位还是低位来处理。下面通过截图具体说明:最下面是物理媒体上传输的字节流的最终形式,都是16进制表示,发送时按顺序先发送002354c3…0003f6…接收时也按此顺序接收字节。选中totallength:1014,它的十六进制表示是0x03f6,从下面的蓝色选中区域可以看到,03在前面,f6在后面,即高字节数据在低地址,低字节数据在高地址(图中地址从上到下从左到右依次递增),所以可知,网络字节序采用的是大端模式。

MFC抓?那是不太现实的。

有三种方式:

1、写驱动,进入RING0抓IRP;

2、逆向别的应用程序;

3、使用AccessPort。

3最简单,因为下载下来然后监控指定串口就行了。

用wpe

彻底明白的话

我暂时没这个本事

你可以在百度搜索下

wpe教程

学会多少

要看你自己造化

————————————————————

IP欺骗

IP欺骗是在服务器不存在任何漏洞的情况下,通过利用TCP/IP协议本身存在的一缺陷进行攻击的方法,这种方法具有一定的难度,需要掌握有关协议的工作原理和具体的实现方法。

一、TCP、IP协议的简单说明:

TCP/IP(传输控制协议/网际协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据传输格式以及传送方式,TCP/IP是因特网的基础协议。要想当黑客就有必要了解TCP/IP协议。

在数据传送中,可以形象的理解为有两个信封:TCP和IP信封。要送递的信息被分成若干段,每一段塞入一个TCP信封,并在该信封上记录有分段号的信息,再将TCP信封塞入IP大信封里,发送到网上。在接收端,一个TCP软件包收集信封,抽出数据,按发送关的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此TCP/IP在因特网中几乎可以无差错地传送数据。对因特网用户来说,并不需要了解网络协议的整个结构,仅需了解IP的地址格式,即可与世界各地进行网络通信。

1、TCP/IP的层次结构:

TCP/IP协议组中的协议因特网上数据的传输,提供了几乎目前上网所用到的所有服务,在TCP/IP协议组中有两种协议:

(1)网络层协议:

网络层协议管理离散计算机间的数据传输。这些协议用户注意不到,它们是个系统表层以下工作的。比如,IP协议为用户和远程计算机提供了信息包的传输方法,它是在许多信息的基础上工作的。比如机器的IP地址。在机器的IP地址和其他信息的基础上,IP确保信息包正确达到目的机器。通过这一过程,IP和其他网络层的协议一共同用于数据传输。如果没有网络工具,用户就看不到在系统里工作的机器的IP。

(2)应用层协议:

相反地,应用层协议是可以看到的。比如,文件传输协议(FTP)是可以看到的。用户为了传一个文件而请求一个和其他计算机连接,连接建立后,就开始传输文件,在传输时,用户和远程计算机的交换的一部分是能看到的。

2、TCP/IP的重要协议:

(1)地址解析协议(ARP):

在网络上进行通信的主机必须知道对方主机的硬件地址(网卡的物理地址)。地址解析协议的目的就是将IP地址映射成物理地址。这在使信息通过网络时特别重要。一个消息(或者其他数据)在发送之前,被打包到IP包里面,或适合于因特网传输信息块中,其中包括两台计算机的IP地址。 在这个包离开发送计算机前,必须找到目标的硬件地址,这就是ARP最初到达的地方。

一个ARP请求消息会在网上广播。请求由一个进程接收,它回复物理地址。这个回复消息由原先的那台发送广播消息的计算机接收,从而传输过程就开始了。

ARP的设计包括一个缓存。为了减少广播量,ARP在缓存中保存地址映射以备后用。ARP级存保存有动态项和静态项。动态项是自动加和删除的,静态项则是保留在缓存(Cache)中,直到计算机重启为止。ARP缓存总是为本地子网保留硬件广播地址(0xffffffffffffh)作为一个永久项,此项使主机能够接收ARP广播。当果看存时,该项不会显示。每条ARP缓存记录的生命周期为10分种,如果2分种未用则删除。缓存容量满时,删除最早的记录,但是,缓存也引起了安全性的问题,那就是缓存溢出。

(2)因特网控制消息协议(ICMP):

因特网控制消息协议(ICMP)用于报告错误并对IP消息进行控制。IP运用互联组管理协议(IGMP)来告诉路由器某一网络上指导组中有哪些可用主机。

以ICMP实现的最著名的网络工具是Ping。Ping通常用来判断一台远程机器是否正开着,数据包从用户的计算机发到远程计算机,这些包通常返回到用户的计算机,如果数据包没有返回到用户计算机,Ping程序就产生一个表示远程计算机关机的错误消息。

二、IP攻击中如何建立信任关系:

IP欺骗是利用了主机之间的正常信任关系来发动的,所以在介绍IP欺骗攻击之前,先说明一下什么是信任关系,信任关系是如何建立的。

在UNIX主机中,存在着一种特殊的信任关系。假设有两台主机hosta和hostb,上面各有一个帐户Tomy,在使用中会发现,在hosta上使时要输入在hosta上的相应帐户Tomy,在hostb上使用时必须输入用hostb的帐户Tomy,主机hosta和hostb把Tomy当做两个互不相关的用户,这显然有些不便。为了减少这种不便,可以在主机hosta和hostb中建立起两个帐户的相互信任关系。在hosta和hostb上Tomy的home目录中创建rhosts文件。从主机hosta上,在你的home目录中用命令echo “hostb Tomy”>~/hosts实现hosta&hostb的信任关系,这时,你从主机hostb上,你就能毫无阻碍的使用任何以r开头的远程调用命令,如:rlogin、rsh、rcp等,而无需输入口令验证就可以直接登录到hosta上。这些命令将允许以地址为基础的验证,允许或者拒绝以IP地址为基础的存取服务。这里的信任关系是基于IP的地址的。

当/etc/hostsequiv中出现一个 “+”或者$HOME/rhosts中出现 “++”时,表明任意地址的主机可以无需口令验证而直接使用r命令登陆此主机,这是十分危险的,而这偏偏又是某些管理员不重视的地方。下面我们看一下rlogin的用法。

rlogin是一个简单的/服务器程序,它的作用和telnet差不多,不同的是telnet完全依赖口令验证,而rlogin是基于信任关系的验证,其次才进行口令验证的,它使用了TCP协议进行传输。当用户从一台主机登陆到另一台主机上,并且,如果目录主机信任它,rlogin将允许在不应答口令的情况下使用目标主机上的资源,安全验证完全基于源主机的IP地址。因此,根据以上所举的例子,我们能利用rlogin来从hostb远程登陆到hosta,而且不会被提示输入口令!

三、IP欺骗的理论根据:

看到上面的说明,每一个黑客都会想到:既然hosta和hostb之间的信任关系是基于IP地址而建立起来的,那么假如能够冒充hostb的IP,就可以使用rlogin登录到hosta,而不需任何口令验证。这就是IP欺骗的最根本的理论依据。但是,事情远没有想象中那么简单!虽然可以通过编程的方法随意改变发出的包的IP地址,但TCP协议对IP进行了进一步的封装,它是一种相对可靠的协议,不会让黑客轻易得逞。下面看一下正常的TCP/IP会话的过程:

由于TCP是面向连接的协议,所以在双方正式传输数据之前,需要用“三次握手”来建立一个稳重的连接。假设还是hosta和hostb两台主机进行通信,hostb首先发送带有SYN标志的数据段通知hosta建立TCP连接,TCP的可靠性就是由数据包中的多位控制字来提供的,其中最重要的是数据序列SYN和数据确认标志ACK。B将TCP报头中的SYN设为自己本次连接中的初始值(ISN)。

当hosta收到hostb的SYN包之后,会发送给hostb一个带有SYN+ACK标志的数据段,告之自己的ISN,并确认hostb发送来的第一个数据段,将ACK设置成hostb的SYN+1。

当hostb确认收到hosta的SYN+ACK数据包后,将ACK设置成hosta的SYN+1。Hosta收到hostb的ACK后,连接成功建立,双方可以正式传输数据了。

看了这个过程,我们就很容易想到,假如想冒充hostb对hosta进行攻击,就要先使用hostb的IP地址发送SYN标志给hosta,但是当hosta收到后,并不会把SYN+ACK发送到我们的主机上,而是发送到真正的hostb上去,这时IP欺骗就失败了,因为hostb根本没发送发SYN请请。所以如果要冒充hostb,首先要让hostb失去工作能力,也就是所谓的拒绝服务攻击,设法让hostb瘫痪。

可是这样还是远远不够的,最难的就是要对hosta进行攻击,必须知道hosta使用的ISN。TCP使用的ISN是一个32位的计数器,从0到4,294,967,295。TCP为每一个连接选择一个初始序列号ISN,为了防止因为延迟、重传等扰乱三次握手,ISN不能随便选取,不同的系统有着不同的算法。理解TCP如何分配ISN以及ISN随时间的变化规律,对于成功的进行IP欺骗攻击是很重要的!ISN约每秒增加128 000,如果有连接出现,每次连接将把计数器的数值增加64,000。很显然,这使得用于表示ISN的32位计数器在没有连接的情况下每932小时复位一次。这所以这样,是因为它有利于最大程度地减少“旧有”连接的信息干扰当前连接的机会。如果初始序列号是随意选择的,那么不能保证现有序列号是不同于先前的。假设有这样一种情况,在一个路由回路中的数据包最终跳出循环,回到了“旧有”的连接,显然这会对现有连接产生干扰。预测出攻击目标的序列号非常困难,而且各个系统也不相同,在Berkeley系统,最初的序列号变量由一个常数每秒加1产生,等加到这个常数的一半时,就开始一次连接。这样,如果开始啊一个合法连接,并观察到一个ISN正在使用,便可以进行预测,而且这样做有很高的可信度。现在我们假设黑客已经使用某种方法,能预测出ISN。在这种情况下,他就可以将ACK序列号送给hosta,这时连接就建立了。

四、IP欺骗攻击过程解析:

IP欺骗由若干步骤组成,下面是它的详细步骤:

1、使被信任主机失去工作能力:

为了伪装成被信任主机而不露馅,需要使其完全失去工作能力。由于攻击者将要代替真正的被信任主机,他必须确保真正的被信任主机不能收到任何有效的网络数据,否则将会被揭穿。有许多方法可以达到这个目的(如SYN洪水攻击、TTN、Land等攻击)。现假设你已经使用某种方法使得被信任的主机完全失去了工作能力。

2、序列号取样和猜测:

前面讲到了,对目标主机进行攻击,必须知道目标主机的数据包序列号。通常如何进行预测呢?往往先与被攻击主机的一个端口(如:25)建立起正常连接。通常,这个过程被重复N次,并将目标主机最后所发送的ISN存储起来。然后还需要进行估计他的主机与被信任主机之间的往返时间,这个时间是通过多次统计平均计算出来的。往返连接增加64,000现在就可以估计出ISN的大小是128,000乘以往返时间的一半,如果此时目标主机刚刚建立过一个连接,那么再加上64 ,00。

一旦估计出ISN的大小,就开始着手进行攻击,当然你的虚假TCP数据包进入目标主机时,如果刚才估计的序列号是准确的,进入的数据将被放置在目标机的缓冲区中。但是在实际攻击过程中往往没这么幸运,如果估计序列号的小于正确值,那么将被放弃。而如果估计的序列号大于正确值,并且在缓冲区的大小之内,那么该数据被认为是一个未来的数据,TCP模块将等待其他缺少的数据。如果估计序列号大于期待的数字且不在缓冲区之内,TCP将会放弃它并返回一个期望获得的数据序列号。

你伪装成被信任的主机IP,此时该主机仍然处在瘫痪状态,然后向目标主机的513端口(rlogin)发送连接请求。目标主机立刻对连接请求作出反应,发更新SYN+ACK确认包给被信任主机,因为此时被信任主机仍然处于瘫痪状态,它当然无法收到这个包,紧接着攻击者向目标主机发送ACK数据包,该包使用前面估计的序列号加1。如果攻击者估计正确的话,目标主机将会接收该ACK。连接就正式建立起了,可以开始数据传输了。这时就可以将cat ‘++’>>~/rhosts命令发送过去,这样完成本次攻击后就可以不用口令直接登录到目标主机上了。如果达到这一步,一次完整的IP欺骗就算完成了,黑客已经在目标机上得到了一个Shell权限,接下来就是利用系统的溢出或错误配置扩大权限,当然黑客的最终目的还是获得服务器的root权限。

3、总结一下IP攻击的整个步骤:

(1)首先使被信任主机的网络暂时瘫痪,以免对攻击造成干扰;

(2)获得SN基值和增加规律;

(3)接下来把源地址伪装成被信任主机,发送带有SYN标志的数据段请求连接;

(4)发更新SYN+ACK包给已经瘫痪的主机;

(5)最后再次伪装成被信任主机向目标机发送的ACK,此时发送的数据段带有预测的目标机的ISN+1;

(6)连接建立,发送命令请求。

我们有时做主机之间的渗透测试,需要看网络发包的详细内容,但虚拟机内部如何抓包呢?

vmware的虚拟网络编辑器有三种模式:

╔ HostOnly(仅主机)

╠ Bridge(桥接)

╚ NAT(代理)模式

其中:

1、仅主机模式,是虚拟机仅和主机连接,我们这时可以在编辑--虚拟网络编辑器中设置一下,这样,XP虚拟机就获取到了主机的vmnet1网卡给它分配的IP地址了。有时会获取不到指定的地址,获取的是169254/16段的IP,那就重新编辑一下网络编辑器,就好了。

2、桥接方式:一般是vmnet0网卡,我们在网络适配器里是找不到的,这是相当于主机充当了网桥的功能,把虚拟机桥接到了主机当前联网的网络内,或者说:是虚拟机有条网线也插到了你联网的交换机上,它获取到了和你的主机相同的IP段的地址,会与真实主机一样,占用真实网络中的IP地址,和你的主机处于同一地位。这个模式下,你是不需要配置什么的,只需要指定你目前的网卡的名称就可以了。

3、NAT模式:NAT是Network Address Translation的缩写,即网络地址转换,即你主机上的vmnet虚拟网卡充当了一台“路由器”的角色,你的虚拟机插在它的网口上,vmnet网卡给你的虚拟机分配一个“内网”的IP地址,然后代理你的虚拟机上网。这里我们需要给它配置“路由器”的WAN口地址(下图1),再给它配置“路由器”的DHCP功能中,可分配的IP范围(下图2):

注意!上图1 一定要勾上将主机虚拟适配器连接到此网络(V),不然vmware就不将网络状况关联到系统的虚拟网卡上了,wireshare里就找不到这张虚拟网卡名称了

总结:梳理了以上虚拟机的三种网络连接方式,我们就可以判断出:哪种方式适合vmware进行抓包,没错:

第一种仅主机,只要和主机中的虚拟网卡存在连接,我们就可以让wireshark抓包,这是OK的;

第二种桥接,如果我们有第二台物理主机,和我们的主机在同一网段,那么可以用这种方式抓包,但一般情况下,我们就是一台主机,所以第二种方式pass掉;

那么现在第三种NAT方式,很好,vmware的虚拟交换机让攻击机和测试机处于同一网段,那么我们就可以配置vmware抓这个vmnet网卡内的包了,这也是OK的;

抓包工具smsniff怎么用?在线急等!

悬赏分:5 -

解决时间:2009-10-21 13:07

小弟想问下smsniff是不是所有网络协议的包都能抓呀?还有怎么用呀?我只会开始?开始了也不知道抓的是那个程序的包?怎么指定应用程序呢?反正是怎么用?完后加分!!

安装,开始抓包,再分析

回答者:

- 2009-10-16 11:56

1 2006-6-28

2007-10-26

2009-10-29

3 2008-12-12

3 2010-5-14

查看同主题问题:

很高兴回答楼主的问题 如有错误请见谅

以上就是关于抓包软件抓到一些不存在的mac地址的数据包全部的内容,包括:抓包软件抓到一些不存在的mac地址的数据包、VB如何实现这个抓包功能、你好,我看了你关于如何用自己编的C++程序获取wireshark抓取的数据包,并解析。没有太明白。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10113357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存