社区
网络编程
帖子详情
如何使用winpcap对两块网卡同时抓包
wanderfox
2006-03-24 11:09:31
在vc6环境下创建了两个CWinThread的线程,企图用winpcap对两块网卡同时抓包,把结果返回到对话框的ListCtrl中,但是好像两个线程同时抓包会死锁?一个线程就没问题?请问这是怎么回事啊?
...全文
224
2
打赏
收藏
如何使用winpcap对两块网卡同时抓包
在vc6环境下创建了两个CWinThread的线程,企图用winpcap对两块网卡同时抓包,把结果返回到对话框的ListCtrl中,但是好像两个线程同时抓包会死锁?一个线程就没问题?请问这是怎么回事啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lonelyeagle
2006-04-05
打赏
举报
回复
//枚举所有网卡
pcap_findalldevs(&alldevs,g_strErrorBuffer);
for(adapterindex =0 ,d=alldevs;d;d=d->next) /
{
g_AdapterName[adapterindex]=(char *)malloc(strlen(d->name)+1);
memset(g_AdapterName[adapterindex],0,strlen(d->name)+1);
strcpy(g_AdapterName[adapterindex++],d->name);
}
pcap_freealldevs(alldevs); // 释放alldev资源
//对网卡逐个绑定,指定相同的回调函数static_PacketHandler,
for(i=0; i<g_unAdapterNumber; i++)
{
g_pPcapDevice[i] = pcap_open_live(g_AdapterName[i], 2000, 1, 1000, g_strErrorBuffer);
if (!g_pPcapDevice[i])
{
bInitPcap = false;
break;
}
//build the libpcap bpf expression
char bpf[1024]={0};
sprintf(bpf," ((ip proto \\tcp) and ((port 139) or (port 445)))");
if (-1 == pcap_compile(g_pPcapDevice[i], &fcode, bpf, 1, 0))
{
DebugDumpA(DEBUG_CLIENT_SHAREMON,"ShareMon : Initialization libpcap fail, pcap_compile fail, %s\n", pcap_geterr(g_pPcapDevice[i]));
bInitPcap = false;
break;
}
if (-1 == pcap_setfilter(g_pPcapDevice[i], &fcode))
{
DebugDumpA(DEBUG_CLIENT_SHAREMON,"ShareMon : Initialization libpcap fail, pcap_setfilter fail, %s\n", pcap_geterr(g_pPcapDevice[i]));
bInitPcap = false;
break;
}
pcap_dispatch(g_pPcapDevice[i], 0, static_PacketHandler, (UCHAR*)pthis);
}
oyljerry
2006-03-24
打赏
举报
回复
先找出具体什么死锁了
Java搭建
win
pcap
开发环境-
使用
IDEA
本文介绍在IDEA下用Java搭建
win
pcap
开发环境。先阐述JDK的java.net包、
win
pcap
、j
pcap
和
网卡
相关知识,接着说明搭建步骤,包括安装
win
pcap
、设置J
pcap
.dll、导入jar包,最后给出
抓包
demo,通过
网卡
分析和
抓包
分析测试环境是否搭建成功。
Java
抓包
分析一(基于jnet
pcap
进行
抓包
)——
抓包
环境搭建,获取
网卡
本文介绍了Java网络编程的局限性,主要在于其无法进行底层协议的
抓包
。为解决此问题,文章讲解了如何
使用
jnet
pcap
库结合JNI调用lib
pcap
进行网络数据包捕获。详细阐述了jnet
pcap
、lib
pcap
、
win
pcap
和JNI的关系,并指导读者在
Win
dows环境下安装
win
pcap
和配置jnet
pcap
。通过创建Maven或SpringBoot项目,引入jnet
pcap
依赖,并提供非Maven项目的集成方法。最后,展示了如何
使用
Java代码获取
网卡
信息。
python3
使用
win
pcap
本文介绍了Python3如何利用
win
pcap
库进行网络
抓包
。
win
pcap
是基于lib
pcap
的
Win
dows版,现在已被n
pcap
替代。在Python中,
使用
win
pcap
的模块
win
pcap
y进行
抓包
操作。文章详细讲解了
Win
Pcap
Devices和
Win
Pcap
Utils类的
使用
,以及如何通过设备描述或设备名进行
抓包
。dpkt库则用于解析数据帧,简化了数据包内容的分析。
C++
win
pcap
网络
抓包
代码实现,以及
抓包
内容解析。
本文介绍如何
使用
C++及
Win
Pcap
库实现网络数据包的捕获,包括安装配置
Win
Pcap
、获取
网卡
列表、设置过滤器、捕获和解析数据包等步骤。
win
pcap
抓包
原理
本文介绍了
Win
Pcap
,它是
Win
dows平台上用于网络数据包捕获和分析的体系结构,由核心包过滤驱动程序、底层动态连接库和高层函数库组成,具有
抓包
接口标准、便于移植等优势。还阐述了网络数据包捕获原理,基于以太网广播信道争用方式,通过
网卡
混杂模式实现信息捕获。
网络编程
18,357
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章