硬汉嵌入式论坛

 找回密码
 立即注册
查看: 299|回复: 2
收起左侧

[NetX] 适用于window电脑的NetX的Npcap模拟ETH网卡驱动

[复制链接]

14

主题

91

回帖

153

积分

初级会员

积分
153
发表于 2025-10-21 22:45:32 | 显示全部楼层 |阅读模式
Npcap是实现抓包工具WireShark的基础开源工具
它可以抓取电脑网卡的原始数据帧,同时也支持通过网卡发送自定义的数据帧
这就意味着可以通过它在电脑上虚拟一个ETH网卡。

能用来干嘛呢?
就是前几天我才注意到的那几个GUIX官方demo,那几个工程可以在VS2022中打开编译,生成仿真ThreadX和GuiX的exe程序。
再加上这个Npcap驱动,在电脑上连NetX都能一起仿真了。


使用方法:
1. 安装Npcap软件。虽然装wireshark时已经装了Npcap,但是一般当时都没勾选下面这个选项,所以建议重装勾选一下
npcap.png

2. 添加netx源码及驱动文件nx_win32_npcap_driver、nx_win32_phy_npcap_driver、module_npcap等文件

3. 工程预处理器定义里添加取消接收校验的三个宏定义:
           NX_DISABLE_IP_RX_CHECKSUM
           NX_DISABLE_TCP_RX_CHECKSUM
           NX_DISABLE_UDP_RX_CHECKSUM
          (暂时没理清为什么checksum总失败,所以暂时禁用接收校验)
vs_macro.png

4. 在一个任务线程中(而不是默认的tx_application_define()函数中)调用初始化语句
init_code.png

5. 先调试运行一下,通过日志打印看看电脑上多个网卡中哪个是ETH网卡,记住序号,例如我的电脑上有线网卡是5号
    然后在module_npcap.c中将宏定义NETIF_INDEX的值改为对应序号
netif_macro.png

6.重新编译运行即可


如图测试 可以连接仿真程序创建的TCP 和 UDP echo服务器(模拟的网卡IP是192.168.3.100)
test.png



附上测试工程。请解压后放在guix源码的samples目录下,因为是从中挑一个改的。



demo_guix_luncher2.rar

13.67 MB, 阅读权限: 100, 下载次数: 3

评分

参与人数 1金币 +100 收起 理由
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

0

主题

59

回帖

59

积分

初级会员

积分
59
发表于 2025-10-22 15:23:06 | 显示全部楼层
不错,感谢分享。。threadx可以使用vs编译器来模拟,但是我比较喜欢mingw。貌似没有找到threadx对应mingw的port
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119439
QQ
发表于 2025-10-23 11:17:26 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-11-22 17:06 , Processed in 0.043622 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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