请教:我想用winpcap写路由程序,有几处不明白

avalonBBS 2009-07-27 10:03:18
我在电脑上装了两上虚拟机,一个2KSERVER(双网卡),一个98
2K(网卡A:192。168。1。3、网卡B:192。168。2。3)
98(网卡C:192。168。2。2)
其中网卡C与B之间可以互PING
本机(网卡D:192。168。1。2)
其中网卡A与D之间可以互ping

>>>>>>>>>>>>>>>>

然后我在98上架了个FTP服务器,用2K上传下载都没问题,我想在本机上也能访问到98上的FTP,于是我就想写个程序放在2K下

程序大致是这样的:
packet_handler(.......,onst u_char *pkt_data)
{
在这里面处理捕获到的帧(应该是帧吧?),
然后将pkt_data的前6个u_char置为网卡A的网卡地址,再将紧邻的6个u_char置为网卡B的网卡地址
再将后面的pkt_data数据合在一起发到打开的网卡A的适配器上
}
int
main(...)
{
打开列表。。。。
提示输入,选择做入口的适配器(捕获),选择做出口的适配器(发送)
设置过滤表达式(“IP”)可以么?
pcap_loop(inhandle, 0, packet_handler, NULL);///inhandle为捕获的适配器
return 0;
}

.....................这样的可有问题啊?
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
avalonBBS 2009-07-27
  • 打赏
  • 举报
回复
另外请问,winpcap中有没有取得诸如以太网适配器的网卡地址的函数啊?我找不到。硬编址的太晕鸟
avalonBBS 2009-07-27
  • 打赏
  • 举报
回复
过滤表达式我想改为(,IP && ! DST HOST 本机捕获适配器的IP)

上面的只是实现一个方向上的, 还有另个方向上的,仅要改pkt_data的12个u_char,改pcap_loop的inhandle就可

不知想法对么?
avalonBBS 2009-07-27
  • 打赏
  • 举报
回复
求助哇

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧