比如我们希望抓取局设备dev1和云端server通信的数据,我们需要用自己的电脑开一个热点(Ap),即建立一个私有的局域网。dev1做为(Station)连接到Ap。这样当我们在自己的电脑上运行wireshark时就可以抓到dev1和server的通信数据了。
其实在局域网内抓包并不是个容易的事,上面的情况是Dev1和server通信的情况下wireshark可以抓到包,但如果我们需要抓取局域网内两个设备Dev1和Dev2之间通信数据的话,这种情况就无法抓取了。
明明在同一个局域网,为什么PC上的wireshark无法抓取Dev1和Dev2的通信呢?原因正是因为Dev1和Dev2在同一个局域网的原因,它俩的通信数据在经过PC的网卡时只涉及Mac层,压根就不会进入PC的IP层协议处理,所以运行在PC上的wireshark自然就看不到任何数据了。而Dev1和server通信的情况就不同了,它需要PC将数据路由至外网的server,需要路由的数据必然会经过IP层协议,所以wireshark能够很好的抓取二者的通信数据包。在菜单栏中选CAPTION中的OPTION,选择你的网卡,就是有IP地址的那个,然后在CAPTURE FILTER中写tcp(小写),点start,然后就开始抓包,TCP应用的地方很多,随便浏览网页都能抓到包。IP协议时TCP的上层协议,不论是抓TCP或UDP的时候都会抓到IP协议的信息。抓取别人的数据包有几种办法!
第一种是你和别人共同使用的那个交换机有镜像端口的功能,这样你就可以把交换机上任意一个人的数据端口做镜像,然后你在镜像端口上插根网线连到你的网卡上,你就可以抓取别人的数据了;
第二种,把你们局域网的交换机换成一个集线器,这样的换所有的数据包都是通发的,也就是说,不管是谁的数据包都会路过这个集线器上的每一个计算机,只要你将网卡设置为混杂模式就能抓到别人的包;
第三种,利用MAC地址欺骗,在局域网内发送ARP包,使其他计算机都误以为你是网关,这样的话,其他计算机都会将它们的数据包发送到你这里,你就可以抓到它们的包了,不过如果你用这种方法,建议还是自己写个程序比较好,现在很多无良工具都是截获别人的数据请求不转发,最好转发一下,这样其它计算机就不会发现你在做MAC欺骗了;
第四种,如果你们是共用一个ADSL猫上网的话,有条件的情况下,你还可以给自己的电脑安装两个网卡,一个网卡接猫,一个接交换机,然后把接猫的网卡共享,这里接猫的网卡的IP设置为19216811,让这个网卡做网关,别的电脑都通过这个网卡上网,所以你可以轻易的在这个网卡上捕获别的电脑的数据包。上述四种方法仅作为技术研究在此讨论。分片很容易看出来的。比如1个UDP包超过MTU大小了。如果有分片而没有截获的话
注意截包的时候不要指定tcp,udp这类协议或者端口,因为分片包不包含这些。可以指定ip,然后自己看一下就知道是否有分片包了如果你使用wireshark,ipaddr == 192168216100 && ipaddr == 192168216168;你可以可以试试基于进程抓包工具QPA,QPA按进程抓包,可以省去编写过滤规则。wireshark能看到的才可以。ip可以看到,网关可以通过信令上推断,因为跟外部机器通讯需要走网关的。但是子网掩码好像哪个字段都没有的,推断起来也很麻烦的。
wireshark不是万能的。Wireshark是一个抓取网络数据包的工具,这对分析网络问题是很重要的,下文将会简单的介绍下如何使用Wireshark来抓包。 1、在如下链接下载“Wireshark”并在电脑上安装。 2、如果之前没有安装过“Winpcap”请在下面把安装“Winpcap”的勾选上。 3、打开安装好的Wireshark程序,会看到如下图所示界面: 主界面,打开“Capture”->“Options” 在最上面的Interface中选择电脑真实的网卡(默认下可能会选中回环网卡),选中网卡后,下面会显示网卡的IP地址,如图中是172313041,如果IP正确,说明网卡已经正确选择。 Capture Filter这一栏是抓包过滤,一般情况下可以不理会,留为空。 Display options就按照我们勾选的来做就行。好,点击Start。 选择好保存路径和文件名(请不要中文)后,点击保存。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)