社区
网络编程
帖子详情
有谁用Winpcap发过数据包???
alphagx
2005-04-12 09:45:45
我电脑上有一块网卡,
如果我不拨上VPN服务器,我用第一块网卡进行发送数据包没有问题。
但如果拨上VPN后,用第二块网卡就行发送的时候就出问题了。
数据包发送不出去
我用ethereal 抓到的包直接往外面发送也不行。
有没有人遇到过这样的问题??
非常感谢。
...全文
190
8
打赏
收藏
有谁用Winpcap发过数据包???
我电脑上有一块网卡, 如果我不拨上VPN服务器,我用第一块网卡进行发送数据包没有问题。 但如果拨上VPN后,用第二块网卡就行发送的时候就出问题了。 数据包发送不出去 我用ethereal 抓到的包直接往外面发送也不行。 有没有人遇到过这样的问题?? 非常感谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alphagx
2005-04-12
打赏
举报
回复
第二块网卡因为是虚拟网卡,ndiswan。
禁掉第一块一样不能发送。
ndiswan属于中间层,它将上层发下来的lan数据包转换成PPPOE的格式,然后再向物理
网卡上进行发送。
to:tbcookie
http://faq.9966.org/SendPkt.rar
这里面处理MAC地址的时候有点问题,不过那是好久前写的东东了,
我就没改。
tbcookie
2005-04-12
打赏
举报
回复
楼主,我刚学winpcap这个东西,现在一个包也没发出去呢,汗!!!!
能不能把你发包的程序给我一个呢????,如果你愿意的话,^_^十分感谢
tbcookie@163.com
oyljerry
2005-04-12
打赏
举报
回复
两块网卡之间什么关系,是否连接冲突等
qrlvls
2005-04-12
打赏
举报
回复
没有遇到过
Jimmy_Xia
2005-04-12
打赏
举报
回复
没有做过,楼主试试这样行不行,在第二块网卡发送数据的时候,将第一块网卡屏蔽掉(即禁用第一个网络连接)看看能不能发送数据。这个实验主要是看看是第二块网卡自身的问题还是两块网卡一起连接而引起的问题。
tbcookie
2005-04-12
打赏
举报
回复
应该是pack.arpFrame.Send_Prot_Addr = inet_addr("218.199.136.196"); // 源IP
tbcookie
2005-04-12
打赏
举报
回复
多谢楼主了,我的包发出去了,可是一点反应也没有.晕啊,我只是想发一个ARP的请求包,
我估计是我的包数据填错了,有空能不能帮我瞅一眼.谢了
// DLC Header
typedef struct tagDLCHeader
{
unsigned char DesMAC[6]; /* destination HW addrress */
unsigned char SrcMAC[6]; /* source HW addresss */
unsigned short Ethertype; /* ethernet type */
} DLCHEADER, *PDLCHEADER;
// ARP Frame
typedef struct tagARPFrame
{
unsigned short HW_Type; /* hardware address */
unsigned short Prot_Type; /* protocol address */
unsigned char HW_Addr_Len; /* length of hardware address */
unsigned char Prot_Addr_Len; /* length of protocol address */
unsigned short Opcode; /* ARP/RARP */
unsigned char Send_HW_Addr[6]; /* sender hardware address */
unsigned long Send_Prot_Addr; /* sender protocol address */
unsigned char Targ_HW_Addr[6]; /* target hardware address */
unsigned long Targ_Prot_Addr; /* target protocol address */
unsigned char padding[18];
} ARPFRAME, *PARPFRAME;
// ARP Packet = DLC header + ARP Frame
typedef struct tagARPPacket
{
DLCHEADER dlcHeader;
ARPFRAME arpFrame;
} ARPPACKET, *PARPPACKET;
这是填数据的:
ARPPACKET Carp2Dlg::fillpacket()
{
ARPPACKET pack;
memset(&pack, 0, sizeof(ARPPACKET)); // 数据包初始化
formatStrToMAC("0000f08990bd",pack.dlcHeader.SrcMAC); // DLC帧头
formatStrToMAC("ffffffffffff",pack.dlcHeader.DesMAC);
formatStrToMAC("0000f08990bd",pack.arpFrame.Send_HW_Addr); // 源MAC
pack.arpFrame.Send_Prot_Addr = inet_addr("218.199.136.192"); // 源IP
formatStrToMAC("ffffffffffff",pack.arpFrame.Targ_HW_Addr); // 目的MAC
pack.arpFrame.Targ_Prot_Addr = inet_addr("218.199.136.192"); // 目的IP
pack.arpFrame.Opcode = htons((unsigned short)1); // arp包类型
// 自动填充的常量
pack.dlcHeader.Ethertype = htons((unsigned short)0x0806); // DLC Header的以太网类型
pack.arpFrame.HW_Type = htons((unsigned short)1); // 硬件类型
pack.arpFrame.Prot_Type = htons((unsigned short)0x0800); // 上层协议类型
pack.arpFrame.HW_Addr_Len = (unsigned char)6; // MAC地址长度
pack.arpFrame.Prot_Addr_Len = (unsigned char)4; // IP地址长度
for(int i=0;i<18;i++)
{
pack.arpFrame.padding[i]=0;
}
return pack;
}
帮忙看看那儿填错了吧,十分感谢!!
基于
Win
Pcap
的网络
数据包
捕获与分析
基于
Win
Pcap
的网络
数据包
捕获与分析
基于
Win
Pcap
的网络
数据包
捕获与分析(源码)
基于
Win
Pcap
的网络
数据包
捕获与分析源码C++源码,包括文档详细解释
win
pcap
获取网络
数据包
,
win
pcap
信息截获是基于
win
dows的网络编程
vc++开发
win
pcap
获取网络
数据包
,
win
pcap
信息截获是基于
win
dows的网络编程,需要安装
win
cap4.0
win
pcap
中分析
数据包
详解
对
win
pcap
技术文档中的分析
数据包
的源代码进行了详解
VC_实现基于
Win
pcap
的网络
数据包
捕获与分析
VC_实现基于
Win
pcap
的网络
数据包
捕获与分析
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章