热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Wireshark之本地回环抓包

目录 1.场景描述2.方法一:(Wireshark+Npcap实现)3. 方法二:(Wireshark+WinPcap+routeadd实现)–推荐1.场景描述为什么Wiresha

目录

 

1. 场景描述

2. 方法一:(Wireshark+Npcap实现)

3. 方法二:(Wireshark+WinPcap+route add实现)–推荐

1. 场景描述

为什么Wireshark本地回环无法抓包?

因为发往本机的数据包是通过回环地址的,即:数据包不会通过真实的网络接口发送,因此我们需要通过设置路由规则来让本来发到虚拟网络接口的数据包发送到真实网络接口即可。

场景描述:在网络程序开发的过程中,有时候会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以。

2. 方法一:(Wireshark+Npcap实现)

windows系统没有提供本地回环网络的接口,用wireshark监控网络的话只能看到经过网卡的流量,看不到访问localhost的流量,因为wireshark在windows系统上默认使用的是WinPcap来抓包的,现在可以用Npcap来替换掉WinPcap,Npcap是基于WinPcap 4.1.3开发的,api兼容WinPcap。

1) 下载安装Npcap

下载Npcap安装包, 安装过程中会检测是否安装了WinPcap,如果安装会提示卸载,卸载之后继续完成安装。当然,如果还没有安装wireshark安装,安装wireshark不要安装WinPcap了

2) 抓包

安装完成启动wireshark, 可看到在网络接口列表中,多了一项Npcap Loopback adapter,这个就是来抓本地回环包的网络接口了。不仅可以抓URL是localhost的,也可以是127.0.0.1,当然,抓本机IP也是完全可以的

《Wireshark之本地回环抓包》

这里我本地启动了UDP的客户端和服务端demo,进行抓取通信的数据流量,并进行追踪流UDP流。

《Wireshark之本地回环抓包》

3) 注意事项:

Npcap安装后可能会影响电脑无线网卡无法正常使用,感叹号,提示连接不成功,即使是没有mac绑定的无线路由。卸载Npcap后就OK。所以建议Wireshark+WinPcap抓包,想抓本地回环包,使用文中方法二。

3. 方法二:(Wireshark+WinPcap+route add实现)–推荐

参考官网

1) 以管理员身份运行cmd: 执行ipconfig查看本机的ip以及网关信息

《Wireshark之本地回环抓包》

2) 添加路由规则:   route add 本机IP  mask 255.255.255.255 网关 metric 1

管理员cmd运行: route add 172.20.34.22 mask 255.255.255.255 172.20.34.254 metric 1

《Wireshark之本地回环抓包》

3) wireshark进行抓包 

此时便可以抓到本机自己同自己的通信包,这样配置的原因是将发往本机的包发送到网关,而此时wireshark可以捕获到网卡驱动的报文实现抓包。 

这里我本地启动了UDP的客户端和服务端demo,进行抓取通信的数据流量,并进行追踪流UDP流。

《Wireshark之本地回环抓包》

《Wireshark之本地回环抓包》

4) 删除路由规则: route delete 本机IP

管理员cmd运行:route delete 172.20.34.22

《Wireshark之本地回环抓包》

原因:抓包完毕后,删除路由,否则所有本机报文都经过网卡出去走一圈回来,很耗性能。

注意:此方法有一个缺点,就是本地请求的URL的IP只能写本地的IP地址,不能写localhost或127.0.0.1,否则还是抓不到包。

 


推荐阅读
  • ANSI最全介绍linux终端字体改变颜色等ANSI转义序列维基百科,自由的百科全书由于国内不能访问wiki而且国内关于ANSI的介绍都是简短的不能达到,不够完整所以转wiki到此 ... [详细]
  • 远程访问用户 Kindle通过电子书实现控制
    介绍自2007年以来,亚马逊已售出数千万台Kindle,令人印象深刻。但这也意味着数以千万计的人可能会因为这些Kindle中的软件漏洞而被黑客入侵。他 ... [详细]
  • KNN算法在海伦约会预测中的应用
    本文介绍如何使用KNN算法进行海伦约会的预测。我们将从数据导入、数据预处理、数据可视化到最终的模型训练和测试进行全面解析。 ... [详细]
  • 深入理解Redis集群机制
    本文旨在深入探讨Redis集群的工作原理,包括其架构设计、数据分布策略、节点通信及故障恢复机制等方面的内容。 ... [详细]
  • 本文探讨了如何利用 Application 对象在 PHP 应用程序中共享数据,特别是在多用户环境中保持数据的一致性和安全性。文章还介绍了 Application 对象的基本结构、方法和事件,并提供了实际应用示例。 ... [详细]
  • 深入解析ASP.NET中的HttpHandler、HttpModule与IHttpHandlerFactory
    本文探讨了ASP.NET页面生命周期中的关键组件——HttpHandler、HttpModule和IHttpHandlerFactory的工作原理及其应用场景。通过实例分析,帮助读者更好地理解和利用这些组件来优化Web应用程序。 ... [详细]
  • Windows 系统中 Flutter 与 IntelliJ IDEA 的环境配置指南
    本指南详细介绍了如何在 Windows 操作系统上设置 Flutter 开发环境,并集成至 IntelliJ IDEA 中,适合初学者及专业人士参考。 ... [详细]
  • 本文探讨了一种方法,通过开发C#应用程序来拦截并处理从遗留系统发出的Http请求,该系统原本依赖于已停止服务的Web服务。解决方案涉及使用代理技术或HTTP监听器来捕获和重定向这些请求。 ... [详细]
  • 实践指南:利用Jenkins与JMeter实现自动化测试报告通知
    本文详细介绍了如何结合Jenkins和JMeter工具,通过自定义脚本向用户发送测试报告的通知。这不仅提高了开发团队的工作效率,也确保了信息的及时传递。 ... [详细]
  • 解决MySQL Administrator 登录失败问题
    本文提供了解决在使用MySQL Administrator时遇到的登录错误的方法,包括启动变量和服务部分禁用的问题。同时,文章还介绍了通过安全配置模式来解决问题的具体步骤。 ... [详细]
  • 本文探讨了Thrift作为一款支持多语言的服务开发框架,其在体积、功能、扩展性以及多协议支持等方面的显著优势。特别地,Thrift作为一种RPC(远程过程调用协议)框架,非常适合用于构建可扩展且低耦合的分布式服务系统。文章通过多种编程语言对Thrift服务进行了性能测试,并提供了详细的测试结果。 ... [详细]
  • 本文介绍了EasyRTSPClient这一高效、稳定的RTSP客户端工具库,并详细阐述了其在与大华球机对接过程中遇到的预览问题及解决方法。 ... [详细]
  • 本文介绍了FTP(文件传输协议)的基础知识,包括其定义、如何通过TCP建立控制和数据连接,以及主动模式与被动模式的区别。FTP作为一种重要的文件传输协议,在互联网数据交换中扮演着关键角色。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • 理解HTTP状态码及其应用
    本文详细解析了HTTP状态码的分类及常见代码的意义,帮助开发者和用户更好地理解和解决网络请求中遇到的问题。 ... [详细]
author-avatar
大侠aaaaaaaaaaa_225
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有