如:type PClient=^Clients Clients=Record Ip:String[15]; soc:TSocket;end;For intI:=List.count-1 Downto 0 Do Begin If PClient(List[intI]).Ip='192.168.0.3' Then CloseSocket(PClient(List[intI]).soc); End; 随手写的,没有测试
procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread); var aIP:string; begin aIP:='192.168.1.24';//你要封的IP if AThread.Connection.Binding.PeerIP=aIP then AThread.Connection.Disconnect; end;
PClient=^Clients
Clients=Record
Ip:String[15];
soc:TSocket;end;For intI:=List.count-1 Downto 0 Do
Begin
If PClient(List[intI]).Ip='192.168.0.3' Then
CloseSocket(PClient(List[intI]).soc);
End; 随手写的,没有测试
procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
var
aIP:string;
begin
aIP:='192.168.1.24';//你要封的IP
if AThread.Connection.Binding.PeerIP=aIP then
AThread.Connection.Disconnect;
end;
只能连上后,判断ip再自动断掉
localIp : array[0..3] of BYTE = (192,168,1,2);
FILTER_TCPUDP_PORT_ANY : WORD = $0000;
FD_FLAGS_NOSYN = $1;
MydwSrcMask : array[0..3] of BYTE = (255,255,255,0);
var
hInterface : INTERFACE_HANDLE;
fHandle : FILTER_HANDLE;
inFilter : PF_FILTER_DESCRIPTOR;
FILTER_PROTO_TCP : DWORD;
dwSrcMask : DWORD;
begin
FILTER_PROTO_TCP := MAKELONG(MAKEWORD(($06),$00),$00000);
dwSrcMask := $FFFFFFFF; PfCreateInterface(0,
pf_action_forward,//PF_ACTION_FORWARD,
pf_action_forward,//PF_ACTION_FORWARD,
FALSE,
TRUE,
hInterface); PfBindInterfaceToIPAddress(hInterface, PF_IPV4, @localIp); inFilter.dwFilterFlags := FD_FLAGS_NOSYN;
inFilter.dwRule := 0;
inFilter.pfatType := PF_IPV4;
inFilter.SrcAddr := @localIp;
inFilter.SrcMask := @dwSrcMask;
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, nil, @fHandle); // 请在这设置一个调试断点,然后看看你的IE是否不能访问WEB页. :)
// 移除过滤接口 PfRemoveFilterHandles(hInterface, 1, @fHandle);
PfUnBindInterface(hInterface);
PfDeleteInterface(hInterface);
我在网上找到些资料,但是一使用就阻止整个电脑上网了,不知道怎么用,师傅门帮忙看下吧