网络地址过滤 过滤一些规定的地址,如不能用IE访问www.abc.com或不能用其他的什么软件访问某某地址.好象要用到IP包过滤和winsocket API等相关知识.本人基础浅薄,希望大家能帮忙,感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是啊。给你两种方法:1、设置分级审查。2:直接判断IE地址栏内的内容,给你一个源码:http://www.delphibox.com/article.asp?articleid=1030 一般firewall的实现,都是通过网络层与传输层结合起来进来过滤的。网络层通过源目IP地址进行过滤,而传输层通过固定协议的内容及特点进行过滤的。如可以对HTPP协议进行URL过滤。推荐你看费尔防火墙1.0的书,先了解一下防火墙技术 Windows Sockets采用SPI的编程接口,应用程序调用的Socket API函数调用SPI服务程序来完成网络操作,SPI可以分很多层,可以开发一个基础服务提供者接口程序就是最下面一层的SPI程序,所有的应用程序操作Sockets最终都是提交到这个服务程序上的,然后我们自己做操作来进行过滤或者记录,最后再调用系统本身的基础服务 Windows网络服务提供者信息在注册表的HKEY_LOCAL_MACHINE \ SYSTEM \ CurrenetControlSet \ Services \ Winsock2 \ Parameters \ Protocol_catalog9 \ Catalog_Entries分支下,在这个分支下有很多子分支,每个子分支都是一种网络服务提供者 我们修改基础服务提供者就可以了,每个子分支下有一个二进制键PackedCatalogItem,些键值的前面512个字节保存的是此服务提供者的DLL文件径和名字。我们替换这个文件名,使它指向我们自己的dll。 求《Windows防火墙与网络封包截获技术》电子版.其他有关防火墙及其网络编程有关的书也行. 是截获还是阻塞?截获你可以用winpcap库,阻塞则是防火墙的知识了,spi,ndis,tdi,包过滤驱动这些。 使用SPI,费尔防火墙是C++写的 以下想创建了一个原始套接字(VC6.0环境),放在了一个按钮的单击事件中执行,也不知道合理不。void CWYJSocketDlg::OnOK() { WSADATA WSAData; SOCKET sock; SOCKADDR_IN addr_in; bool flag; char FAR *LocalName; struct hostent *pHost; WSAStartup(MAKEWORD(2,2),&WSAData); sock = socket(AF_INET,SOCK_RAW,IPPROTO_RAW); setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char*)&flag,sizeof(flag));//Error gethostname((char*)LocalName,sizeof(LocalName)-1); pHost = gethostbyname((char*)LocalName); addr_in.sin_addr = *(in_addr*)pHost->h_addr_list[0]; addr_in.sin_family = Af_INET; //Error addr_in.sin_port = htons(57274); bind(sock,(PSOCKADDR)&addr_in,sizeof(addr_in)); DWORD dwValue = 1; ioctlsocket(sock,SIO_RCVALL,&dwValue); //Error WSAAsyncSelect(sock,GetSafeHwnd(),WM_SOCKET_MSG,FD_READ); //Error CDialog::OnOK();}error C2065: 'IP_HDRINCL' : undeclared identifiererror C2065: 'Af_INET' : undeclared identifiererror C2065: 'SIO_RCVALL' : undeclared identifiererror C2065: 'WM_SOCKET_MSG' : undeclared identifier这是怎么回事,是否是因为没包含某个头文件所致。 http://www.vckbase.com/document/viewdoc/?id=1167http://www.vckbase.com/document/listdoc.asp?mclsid=17&sclsid=1711 发送的短信在手机不会自动换行 Delphi趣味编程实例三则 十分急,在线等,报表问题 如何生成可逆转的乱码? [面试题目,基础问题]数据赋值时,是否只把指针传递? 假小子有点问题,请高手上了,来着给分了 这是Delphi版本的问题吗? 什么都不顺,唯一的好事是从三角变成了四角,散分。 还是formshow的问题 真正的难题:指针! 收到MM亲手织的围巾,感动ing,散分 DBGrid怎样设置行高?
http://www.delphibox.com/article.asp?articleid=1030
网络层通过源目IP地址进行过滤,
而传输层通过固定协议的内容及特点进行过滤的。
如可以对HTPP协议进行URL过滤。
推荐你看费尔防火墙1.0的书,先了解一下防火墙技术
Windows网络服务提供者信息在注册表的HKEY_LOCAL_MACHINE \ SYSTEM \ CurrenetControlSet \ Services \ Winsock2 \ Parameters \ Protocol_catalog9 \ Catalog_Entries分支下,在这个分支下有很多子分支,每个子分支都是一种网络服务提供者
我们修改基础服务提供者就可以了,每个子分支下有一个二进制键PackedCatalogItem,些键值的前面512个字节保存的是此服务提供者的DLL文件径和名字。我们替换这个文件名,使它指向我们自己的dll。
其他有关防火墙及其网络编程有关的书也行.
截获你可以用winpcap库,阻塞则是防火墙的知识了,spi,ndis,tdi,包过滤驱动这些。
void CWYJSocketDlg::OnOK()
{
WSADATA WSAData;
SOCKET sock;
SOCKADDR_IN addr_in;
bool flag;
char FAR *LocalName;
struct hostent *pHost; WSAStartup(MAKEWORD(2,2),&WSAData);
sock = socket(AF_INET,SOCK_RAW,IPPROTO_RAW);
setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char*)&flag,sizeof(flag));//Error
gethostname((char*)LocalName,sizeof(LocalName)-1);
pHost = gethostbyname((char*)LocalName);
addr_in.sin_addr = *(in_addr*)pHost->h_addr_list[0];
addr_in.sin_family = Af_INET; //Error
addr_in.sin_port = htons(57274);
bind(sock,(PSOCKADDR)&addr_in,sizeof(addr_in));
DWORD dwValue = 1;
ioctlsocket(sock,SIO_RCVALL,&dwValue); //Error
WSAAsyncSelect(sock,GetSafeHwnd(),WM_SOCKET_MSG,FD_READ); //Error
CDialog::OnOK();
}
error C2065: 'IP_HDRINCL' : undeclared identifier
error C2065: 'Af_INET' : undeclared identifier
error C2065: 'SIO_RCVALL' : undeclared identifier
error C2065: 'WM_SOCKET_MSG' : undeclared identifier
这是怎么回事,是否是因为没包含某个头文件所致。
http://www.vckbase.com/document/listdoc.asp?mclsid=17&sclsid=1711