利用操作系统提供的API编写防火墙

原创 2007年10月10日 13:58:00
 /*
利用操作系统提供的API编写防火墙.
该程序涉及到的API说明请访问微软的MSDN Library
代码在C++ Builder 5编译通过
*/
#pragma hdrstop
#include "windows.h"
#include "Fltdefs.h"
// 需要加载"iphlpapi.lib"
//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
    // 一个创建网络包过滤接口
    INTERFACE_HANDLE hInterface;
    PfCreateInterface(0,
                     PF_ACTION_DROP,//PF_ACTION_FORWARD,
                     PF_ACTION_DROP,//PF_ACTION_FORWARD,
                     FALSE,
                     TRUE,
                     &hInterface);

    // 绑定需要网络包过滤的IP地址
    BYTE localIp[] = {192,168,0,2};
    PfBindInterfaceToIPAddress(hInterface, PF_IPV4, localIp);
    // 现在我们开始过滤HTTP协议的的接口
    FILTER_HANDLE fHandle;
    // 填充过滤包的规则结构
    PF_FILTER_DESCRIPTOR inFilter;
    inFilter.dwFilterFlags = FD_FLAGS_NOSYN; //一直添这个值
    inFilter.dwRule = 0; //一直添这个值
    inFilter.pfatType = PF_IPV4; //用 ipV4 地址
    inFilter.SrcAddr = localIp; //设置本地IP地址
    inFilter.SrcMask = "xffxffxffxff"; //设置本地子网掩码
    inFilter.wSrcPort = FILTER_TCPUDP_PORT_ANY; //任意来源端口
    inFilter.wSrcPortHighRange = FILTER_TCPUDP_PORT_ANY;
    inFilter.DstAddr = 0; //任意目标地址
    inFilter.DstMask = 0;
    inFilter.wDstPort = 80; //目标端口 80(http 服务)
    inFilter.wDstPortHighRange = 80;
    inFilter.dwProtocol = FILTER_PROTO_TCP; // 过滤的协议
    // 加入一个过滤接口
    PfAddFiltersToInterface(hInterface, 1, &inFilter, 0, NULL, &fHandle);
    // 请在这设置一个调试断点,然后看看你的IE是否不能访问WEB页. :)
    // 移除过滤接口
    PfRemoveFilterHandles(hInterface, 1, &fHandle);
    PfUnBindInterface(hInterface);
    PfDeleteInterface(hInterface);
    return 0;
}

利用操作系统提供的API编写防火墙

  • 2009年05月13日 16:03
  • 23KB
  • 下载

利用Win32 API绕过360驱动防火墙

 一开始,RK和ARK之间的“军备竞赛”比拼的是哪一方对Windows内核了解的更加深入——越底层就越能抢占到制高点。然而后来,ARK很不厚道的用“驱动防火墙”将RK进入内核的愿望击的粉碎。进不了内核...
  • andoring
  • andoring
  • 2011年05月20日 11:10
  • 3592

《Linux操作系统实用教程》笔记之防火墙使用

本文是在WMware上的 CentOS-7-x86_64 计算机上测试的。使用 iptables 的步骤是: 1. 开启IP转发。 2. 先用yum安装iptables yum install...
  • chuganghong
  • chuganghong
  • 2016年11月27日 18:36
  • 414

Linux操作系统防火墙

CentOS 7 firewalld使用简介 时间:2015-02-08 22:37来源:blog.csdn.net 作者:感知初心 举报 点击:36277次 学习apache安装的时候需要打开...
  • juan131006
  • juan131006
  • 2017年01月04日 11:04
  • 111

本地访问weblogic控制台无反应,关闭linux操作系统防火墙

有时候,我们在linux操作系统上成功启动了weblogic,也查看了7001端口的状态是开启的。但是访问weblogic控制台没有反应,也没有报错。 使用 netstat ...
  • btt2013
  • btt2013
  • 2016年08月10日 00:54
  • 4499

monowall防火墙操作系统镜像(GPL)

  • 2014年07月21日 12:46
  • 8.53MB
  • 下载

ISA 服务器Microsoft® Internet Security and Acceleration (ISA) Server 2004 是可扩展的企业防火墙以及构建在 Microsoft Windows Server™ 2003 和 Windows® 2000 Server 操作系统安全、管理和目录上的 Web 缓存服务器,以实现基于策略的网际访问控制、加速和管理。

  • 2010年03月17日 08:35
  • 3.26MB
  • 下载

linux操作系统-防火墙

  • 2013年04月26日 10:27
  • 326KB
  • 下载

pemu防火墙模拟+vmware操作系统模拟完全实战

  • 2009年03月25日 16:39
  • 57KB
  • 下载

Java调用操作系统API与DLL的使用

       之前一直觉得Java不能调用系统API就是一个莫大的遗憾,后来发现,我错了,还真可以的,下面就由小强带你研究研究,如果你会会C++当然最好,学习Java的都知道,Java是跨平台的...
  • qq969422014
  • qq969422014
  • 2015年09月08日 17:35
  • 3597
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用操作系统提供的API编写防火墙
举报原因:
原因补充:

(最多只允许输入30个字)