首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

集思广益,大家帮帮忙。给结实一下,该怎么处理

2012-01-26 
集思广益,大家帮帮忙。给结实一下当防火墙拦截到某程序访问网络时。会显示出这个程序要访问的IP地址。。~`如何

集思广益,大家帮帮忙。给结实一下
当防火墙拦截到某程序访问网络时。
  会显示出这个程序要访问的IP地址。。~`
  如何替换掉这个IP地址? 让防火墙显示的IP地址是自己定义的地址?

[解决办法]
//如何实现? 
如果楼主对驱动(DDK)编程有了解的话,应该不难做到。简单说就是使用

IoGetDeviceObjectPointer API 获取 \\DEVICE\\TCP 设备对象,从

而得到对应的驱动对象。然后替换 IRP_DEVICE_CONTROL 处理例程即可。
[解决办法]
要不,你就走路由,建个虚拟的拨号连接,你的程序的通讯都走这个路由。
不知道防火墙会不会显示的是其他的目标ip,好像是,很久以前做过,记不大清楚了,你可以试一下。

MIB_IPFORWARDROW pai = {0};
memset(&pai, 0, sizeof(MIB_IPFORWARDROW));
pai.dwForwardIfIndex = g_nIfIndex;//使用的网络设备接口索引值
pai.dwForwardNextHop = g_nIpAssigned;//下一跳的地址,即网关地址

pai.dwForwardDest = nIP;//路由到的目标网络地址
pai.dwForwardMask = inet_addr("255.255.255.255");//路由到的目标网络子网掩码
pai.dwForwardProto = 3;
pai.dwForwardType = 3;
pai.dwForwardMetric1 = 1;
pai.dwForwardAge = 0;
pai.dwForwardPolicy = 0;
pai.dwForwardMetric2 = 1;

Ret=CreateIpForwardEntry(&pai);

热点排行