解决windows10 wireshark无法抓取发出去的包只能抓取接受数据包

我的电脑是windows10系统,安装了wireshark2.2.6版本,,发现抓包的时候只能抓取到接受的包,无法抓取到电脑发出去的包

解决办法:

卸载wireshark默认安装的WinpCap工具包,安装Nmap工具包,重启wireshark

Nmap工具包下载地址:https://nmap.org/download.html#windows

Nmap简介:

Npcap是致力于采用Microsoft Light-Weight Filter (NDIS 6 LWF)技术和Windows Filtering Platform (NDIS 6 WFP)技术对当前最流行的WinPcap工具包进行改进的一个项目。Npcap项目是最初2013年由Nmap网络扫描器项目(创始人Gordon Lyon)北京大学罗杨博士发起,由Google公司的Summer of Code计划赞助的一个开源项目,遵循MIT协议(与WinPcap一致)。Npcap基于WinPcap 4.1.3源码基础上开发,支持32位和64位架构,在Windows Vista以上版本的系统中,采用NDIS 6技术的Npcap能够比原有的WinPcap数据包(NDIS 5)获得更好的抓包性能,并且稳定性更好。

### 使用 WiresharkWindows 系统中捕获 Docker 容器的网络数据包 为了在 Windows 环境下通过 Wireshark 捕获 Docker 容器产生的网络数据包,需遵循特定的方法来设置环境并执行操作。 #### 设置 Docker 和 WinPcap/Npcap 驱动程序 由于 Docker Desktop for Windows 默认使用 Hyper-V 或 WSL 2 来运行 Linux 容器,在这些虚拟化环境中创建的网络接口可能不会直接显示给主机上的应用程序。因此,安装支持多播和混杂模式的 Npcap (推荐替代旧版WinPcap),可以增强兼容性和性能[^1]。 #### 启用 KVM 转发(仅限于Hyper-V) 如果正在使用 Hyper-V,则需要启用端口转发以便让外部工具能够访问容器内部的服务。这可以通过配置 Hyper-V 的交换机以及调整防火墙规则实现。对于 WSL 2 用户来说,默认情况下会自动处理大部分必要的路由设定[^2]。 #### 运行命令启动容器并与宿主机共享网络命名空间 一种方法是在启动容器时附加 `--network=host` 参数,但这只适用于某些场景;另一种更灵活的方式是利用 Macvlan 或 Bridge 模式的自定义网络,并确保该网络桥接到了物理网卡之上。此时应当注意选择正确的网络适配器作为目标设备进行监听[^3]。 #### 执行实际抓过程 当一切准备就绪之后,打开 Wireshark 并从界面左侧列表里挑选对应的网络接口来进行实时捕捉或是加载预先保存好的 .pcap 文件用于后续分析。考虑到不同版本间可能存在差异,请参照官方文档获取最新指导说明[^4]。 ```bash docker network create -d macvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 \ -o parent=eth0 my_macvlan_net ``` 上述脚本展示了如何建立一个新的 MACVLAN 类型的 Docker 网络,并将其绑定到名为 "eth0" 的物理网络接口上。这样做的好处是可以使每个连接至此网络下的容器获得独立且真实的 IP 地址,从而简化了监控其通信的过程[^5]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值