• 5460阅读
  • 0回复

qt4和winpcap联合编程监控虚拟网卡的问题 [复制链接]

上一主题 下一主题
离线guopei296
 

只看楼主 正序阅读 楼主  发表于: 2010-09-24
— 本帖被 XChinux 执行加亮操作(2010-10-21) —
由于需要使用qt套接字编程实现广播,但是我只要在本机上模拟通过,所以于是....我想应该建立多个网卡
发现windows可以建立多个虚拟网卡,每个网卡可以设定独立的ip。
我想如果把它们都设在同一网段,然后编写程序用udp广播让每块虚拟网卡都收到广播数据,但是事实上udp广播数据它们都不到,却可以收到点对点的udp数据。
于是我想,是否应该把它们放到同一个局域网来,这样就需要一个虚拟集线器,据我所知的softether能创建虚拟集线器,但是却没有途径将这些虚拟网卡加入到这个虚拟局域网来。
于是我编写了winpcap抓包程序,可以正常的抓到物理网卡上的数据,对于虚拟网卡却经常抓不到包,有时候有数据了却连ip都不对。
对于上边,我有几个问题:
1、windows的虚拟网卡工作在哪一层呢?
2、winpcap工作在哪一层呢?也就是截获哪一层的数据?
3、普通的抓包软件,比如wireshare是基于winpcap的,给虚拟网卡抓包时也抓不到
4、我该用什么方法建立虚拟网卡间的局域网,实现udp广播呢?(我不要虚拟机)
5、windows虚拟网卡的工作原理大致是什么样的?
6、有什么其他建立多个虚拟网卡的方法?能被winpcap抓到包就好
7、我的程序都是基于qt4.6的,不知道qt是否能不通过Qsocket类,直接获得网卡上的数据呢?它如果能完成winpcap 的工作就太好了,不过不知道直接使用QIODivece类应该怎么操作?
.....
快速回复
限100 字节
 
上一个 下一个