网络抓包调试实践

打印 上一主题 下一主题

主题 878|帖子 878|积分 2634

  网络抓包这个话题,有肯定开辟经验的多少都有所了解,常用软件Wireshark,Fiddler用起来也非常傻瓜,本文不会涉及。 一般的先容网络抓包的文章,到能抓到数据包通常就结束了。但显然认识工具是一会儿事儿,理解本质,清晰实践中啥时候该用,是别的一会儿事儿。让新人小白自行举一反三,大概多少有些困难。
  近期正好加入了一些网络相关问题的排查, 在此从实践角度备忘下,网络抓包的本质意义,以及使用中的一些具体问题。
 
   一. 分歧终端机——抓包

  开辟A: 我给你发了a,b和c
  开辟B: 我充公到b ,你肯定漏了。
  开辟A: 我肯定发了,我日志写了
  开辟B: 你肯定没发,我的日志只有a,b
  ……发了!没发!发了!没发!我不管了!我也不管了!
  以上场景有些阅历的同道,应该都似曾相识。这种到底发了没发,收了充公的问题。打官司打到你那边,要如何断案呢? 
  如果双方都开源可见,人都在你治下,可以看看两边代码, 日志大概写的位置不精确,不是发送的最末了,或者接收的最前端,还大概可以解决。
 
  如果是你调用第三方黑盒,大概就不那么配合了。 
  你:发你们这个指令你们没反应啊
  第三方:你程序逻辑问题吧。
  你:真发了,我日志你看。
  第三方:你日志写的不对。
  你:我日志写的对,不信你看代码。
  第三方:看不懂,别人都没问题。你大概网络有问题……
  你:我网络没问题。
  第三方:设备大概信号不好吧, 你拿着它移动下。。。多移动下。
  
  此时就必要引入权势巨子第三方,网络抓包工具。做web开辟的同砚大概并没非常清晰的意识到,浏览器的请求网络调试功能,就是一个简单易用的抓包工具,所以Web页面调试,只必要看浏览器的网络调试,究竟是发的有问题还是接收处理问题,一目了然,很少扯皮。
  对于非web开辟的同砚,就没有这么好的调试基础设施了。Wireshark之类的抓包工具,其实就是实现了操作体系层面的网络调试工具。
  抓包工具是调试双方的双向代理人, 究竟谁给谁发了啥,或者没发啥。它一清二楚,有最终表明权。 同时,抓包工具可以或许袒露更多的细节,TCP协议如今被广泛使用,对于发了,发不到,或者延时很大,可以或许观察到TCP协议层次的传输控制过程。
  总结来说,通过在两端之间放置抓包工具可以分析,全部的通信非常的情况:发没发出,发没发到,传输质量如何。
  对于前面说的类型的官司,可以让他们装个抓包工具自己看。涉及第三方的 ,出示下抓包日志,也会让对方不把你作为新手小白, 重视你反馈的问题。 
 
  二、网络链路问题排查实践

  现实中的问题通常比书本上复杂。 通信不会简单的发生于两个PC之间,只必要简单的各装一个抓包软件就可以或许使得通信过程一目了然。 

   你必要找出通信问题的设备其中一端,大概是一个封闭体系,乃至嵌入式设备。封闭的体系上无法安装常规的抓包软件。分为几种情况。
 
 1. 接入同一个集线器
 

集线器现实已经淡出历史舞台了,但是它可以让我们理解局域网抓包的原理及限制。
集线器不具备智能转发功能,会将一个端口(物理)接收到的数据,广播至全部连接的端口。收到的网卡会根据MAC地点,忽略不是发给自己的包。(能收到只是自觉忽略)
网卡混杂模式,设置为混杂模式,会使得网卡不再直接忽略与自己无关的数据包,全部流经数据包都可以或许被捕获。
因为,集线器不智能,所以抓包变得很简单。只要插到雷同的集线器上,全部发给调试设备和调试设备发出的网络数据包,都可以或许抓包PC的网卡捕获,从而实现抓包分析。 
 
 2. 接入同一个交换机

交换机比集线器智能了一些,其中的一个特性就是,智能转发, 该发给那个口的包,就发给那个口。交换机不再无脑广播
导致了,按照交换机的接法,只简单连接,已经无法抓包了。因为待调试设备的数据包,并不会流经抓包pc接入的插口的网线,确实更安全了。
但因为有时候网络监控又是公理且合理的需求,于是交换机,多数具有一个类似于端口镜像或者端口监控的功能。
其作用是将被监控端口的流量,复制到监控端口, 使得监控端口的网卡,可以捕获数据包。
在交换机设置中,打开对应的功能,又可以抓包啦。注意端口指的是物理插口,不要与网络端口混淆。
 
 3.接入Wi-Fi  

 
通过Wi-Fi抓包又引入了一些不同,比较靠谱的方案是在上级交换机举行端口镜像,Wi-Fi路由器设置为AP模式,无线转有线,相对简单易于理解。
对于通过无线Wi-Fi举行抓包,我并没有做过现实测试,仅做原理性的讨论。
物理上 Wi-Fi路由器有支持多频的,2.4G与5G。 连接两个频段的设备,我理解应该是不能捕获对方数据包的。
有鉴权加密的Wifi 路由器,必要用户名密码的, 会在通信时叠加应用加密协议。大概可以抓包,但应该无法解密。知道用户名密码,理论上可以,要额外根据wifi加密协议举行解密。
 对于开放的Wi-Fi,无鉴权,不加密,对于连接在同频段,频道的设备,应该是可以捕获其他设备的数据包,正常的抓包。
~现实情况如何,望有现实经验的大神补充
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南飓风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表