Windows下利用N2N访问内网资源,点对网的实现(PCAP编写的动态链接库)
N2N在Linux下能轻松组建网对网,但是虽然N2N在windows下能实现p2p,却不能实现路由的中转,究其原因linux对路由转发的支持是windows所不具备的,除非安装服务器版windows否则改变不了两个网卡之间的数据包互通的问题。
目前通过编程方式在windows下实现路由的办法有两种:
1.通过驱动植入方式直接在数据链路层处理数据包
2.通过PCAP驱动编程截获数据包转发处理
这个动态链接库是利用第二种方式PCAP驱动编写的,本人对驱动开发略知皮毛,所以驱动植入的方式对我来说太难了。只能利用强大的pcap驱动做了,顺便复习了一下IP、TCP、UDP、ARP、ICPM等各种协议。
##动态链接库使用方法(目前接口还未完善,只有一个界面调用接口):
1.c++接口调用()
int __stdcall ShowDlg()
2.成功调用后会显示一下界面用来配置网卡的地址
3.应用的时候开启N2N就可以了,在需要访问内网的计算机上运行N2N并设置路由:
route add 192.168.1.0 mask 255.255.255.0 10.10.10.x
指向的是N2N内网的地址,这样就可以访问内网可路由网段的地址资源了。
4.说明:
(1)该动态链接库识别校验转发TCP、UDP数据包,其他私有协议直接转发,不处理校验数据直接转发,ARP协议、ICMP协议、NBNS协议软件内直接处理。
(2)该动态链接库只运行在N2N隧道内。
(3) 理论上改动一下可以实现windows多网卡的路由和互通。
5.实际测试情况
动态链接库及调用示例下载:
https://download.csdn.net/download/yingftf/12179938