| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 安全365社区 |
安全365
收藏本站
设为首页
会员登录:
安全365
站内搜索: 新闻中心 系统安全 网络安全 安全技术 下载中心
| 网络安全首页 | 信道安全 | 设备安全 | 协议安全 | Web安全 |
利用操作系统提供的API函数编写防火墙
利用操作系统提供的API函数编写防火墙
作者:不祥 文章来源:华盟收集 点击数: 更新时间:2007-8-3 10:02:35
/* Jym5$<  
利用操作系统提供的API编写防火墙. 5Evz6ug  
该程序涉及到的API说明请访问微软的MSDN Library wp7](P  
代码在C++ Builder 5编译通过 Wuq.!p{y  
如果您想和我交流请email:zzwinner@163.com oB2jCb  
*/ ,5>xzruu  
#pragma hdrstop 6j[|.2;  
#include "windows.h" `p8%yl  
#include "Fltdefs.h" Q ;joBl8  
// 需要加载"iphlpapi.lib" mdF.b>:UNI  
//--------------------------------------------------------------------------- JClQ<I~xG  
yE+1>!  
#pragma argsused AaUBc>u  
int main(int argc, char* argv[]) Nk<oH  
{ 4^DTKyhh+  
  // 一个创建网络包过滤接口 ::$*+Lfk  
  INTERFACE_HANDLE hInterface; }[+:Cb's  
  PfCreateInterface(0, Y=EoMa4K'  
              PF_ACTION_DROP,//PF_ACTION_FORWARD, AN # < Sv  
              PF_ACTION_DROP,//PF_ACTION_FORWARD, AX_kvS*P  
              FALSE, Fe:A??=|m<  
              TRUE, `Dn(@M*Zc  
              &hInterface); L%YxS9Jz  
NA"A:w.2n  
  // 绑定需要网络包过滤的IP地址 f@}>0LJk3  
  BYTE localIp[] = {192,168,0,2}; |Ap8J tOL  
  PfBindInterfaceToIPAddress(hInterface, PF_IPV4, localIp); z\%XaX(>2  
  // 现在我们开始过滤HTTP协议的的接口 q.G"V]  
  FILTER_HANDLE fHandle; vg{'xSiF<  
  // 填充过滤包的规则结构 Q< spbA  
  PF_FILTER_DESCRIPTOR inFilter; b{TkkYY{rq  
  inFilter.dwFilterFlags = FD_FLAGS_NOSYN; //一直添这个值 .E ?z%V-'  
  inFilter.dwRule = 0; //一直添这个值 C_I~|2(@  
  inFilter.pfatType = PF_IPV4; //用 ipV4 地址 wKQ %j(  
  inFilter.SrcAddr = localIp; //设置本地IP地址 d{FR{[  
  inFilter.SrcMask = "\xff\xff\xff\xff"; //设置本地子网掩码 HB:x%D@  
  inFilter.wSrcPort = FILTER_TCPUDP_PORT_ANY; //任意来源端口 3?8g.  
  inFilter.wSrcPortHighRange = FILTER_TCPUDP_PORT_ANY; Bpgw$M1Y9  
  inFilter.DstAddr = 0; //任意目标地址 )O<zT/R  
  inFilter.DstMask = 0; m=-s5x{[O#  
  inFilter.wDstPort = 80; //目标端口 80(http 服务) V]qw;~T  
  inFilter.wDstPortHighRange = 80; %c,>V7YKjf  
  inFilter.dwProtocol = FILTER_PROTO_TCP; // 过滤的协议 3ukX<4'$k  
  // 加入一个过滤接口 2mD6T#H~  
  PfAddFiltersToInterface(hInterface, 1, &inFilter, 0, NULL, &fHandle); }%z|mtQ  
  // 请在这设置一个调试断点,然后看看你的IE是否不能访问WEB页. :) ;otO1{*g  
  // 移除过滤接口 vVwU<Aj  
  PfRemoveFilterHandles(hInterface, 1, &fHandle); //bAc #+#  
  PfUnBindInterface(hInterface); l)A&b;&:  
  PfDeleteInterface(hInterface); !5A;F agj[  
  return 0; cw3*q}(.h  
}
文章录入:洋葱头    责任编辑:洋葱头 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    了解 Windows 防火墙 更
    关注细节量身定做 巧妙进
    防火墙防止DDOS SYN Flo
    开放防火墙端口实现 Rob
    另类安全 探究天网防火
    分布式防火墙的应用部署
    新技术让防火墙成为网络
    教菜鸟配置ADSL Modem防
    教你如何制作软盘版的 L
    网络防火墙 别当内网互访
    站长邮箱:webmaster@anquan365.com
    联系电话:86-10-67634029 点击这里给我发消息

    Copyright © 2006-2008 www.anquan365.com 北京华安普特网络科技有限公司 版权所有