003 File Manager
Current Path:
/usr/src/contrib/ipfilter
usr
/
src
/
contrib
/
ipfilter
/
📁
..
📄
BNF
(3.52 KB)
📄
BugReport
(409 B)
📄
HISTORY
(55.43 KB)
📄
LICENCE
(612 B)
📄
Makefile
(14.48 KB)
📄
NAT.FreeBSD
(2.84 KB)
📄
README
(4.53 KB)
📄
STYLE.TXT
(1.96 KB)
📄
WhatsNew50.txt
(2.26 KB)
📄
Y2K
(48 B)
📄
arc4random.c
(5.03 KB)
📄
bpf-ipf.h
(13.72 KB)
📄
bpf_filter.c
(12.32 KB)
📄
genmask.c
(1.14 KB)
📄
ip_dstlist.c
(43.79 KB)
📄
ip_dstlist.h
(1.43 KB)
📄
ip_fil.c
(14.13 KB)
📄
ip_fil_compat.c
(122.12 KB)
📄
ip_msnrpc_pxy.c
(6.25 KB)
📄
ipf.h
(11.97 KB)
📄
ipf_rb.h
(10.37 KB)
📁
iplang
📄
ipmon.h
(3.27 KB)
📁
ipsend
📄
ipt.h
(536 B)
📄
kmem.h
(526 B)
📁
l4check
📁
lib
📁
man
📄
md5.c
(11.36 KB)
📄
md5.h
(3.11 KB)
📄
mkfilters
(2.62 KB)
📄
mlfk_rule.c
(1.23 KB)
📄
opt_inet6.h
(14 B)
📄
opts.h
(1.45 KB)
📄
pcap-ipf.h
(642 B)
📄
radix_ipf.c
(41.92 KB)
📄
radix_ipf.h
(2.64 KB)
📁
rules
📁
samples
📄
snoop.h
(664 B)
📁
sys
📁
tools
Editing: mkfilters
#!/usr/local/bin/perl # for best results, bring up all your interfaces before running this if ($^O =~ m/^irix/i) { &irix_mkfilters || regular_mkfilters || die $!; } else { ®ular_mkfilters || irix_mkfilters || die $!; } foreach $i (keys %ifaces) { $net{$i} = $inet{$i}."/".$netmask{$i} if (defined($inet{$i})); } # # print out route suggestions # print "#\n"; print "# The following routes should be configured, if not already:\n"; print "#\n"; foreach $i (keys %ifaces) { next if (($i =~ /lo/) || !defined($net{$i}) || defined($ppp{$i})); print "# route add $inet{$i} localhost 0\n"; } print "#\n"; # # print out some generic filters which people should use somewhere near the top # print "block in log quick from any to any with ipopts\n"; print "block in log quick proto tcp from any to any with short\n"; $grpi = 0; foreach $i (keys %ifaces) { if (!defined($inet{$i})) { next; } $grpi += 100; $grpo = $grpi + 50; if ($i !~ /lo/) { print "pass out on $i all head $grpo\n"; print "block out from 127.0.0.0/8 to any group $grpo\n"; print "block out from any to 127.0.0.0/8 group $grpo\n"; print "block out from any to $inet{$i}/32 group $grpo\n"; print "pass in on $i all head $grpi\n"; print "block in from 127.0.0.0/8 to any group $grpi\n"; print "block in from $inet{$i}/32 to any group $grpi\n"; foreach $j (keys %ifaces) { if ($i ne $j && $j !~ /^lo/ && defined($net{$j})) { print "block in from $net{$j} to any group $grpi\n"; } } } } sub irix_mkfilters { open(NETSTAT, "/usr/etc/netstat -i|") || return 0; while (defined($line = <NETSTAT>)) { if ($line =~ m/^Name/) { next; } elsif ($line =~ m/^(\S+)/) { open(I, "/usr/etc/ifconfig $1|") || return 0; &scan_ifconfig; close I; # being neat... - Allen } } close NETSTAT; # again, being neat... - Allen return 1; } sub regular_mkfilters { open(I, "ifconfig -a|") || return 0; &scan_ifconfig; close I; # being neat... - Allen return 1; } sub scan_ifconfig { while (<I>) { chop; if (/^[a-zA-Z]+\d+:/) { ($iface = $_) =~ s/^([a-zA-Z]+\d+).*/$1/; $ifaces{$iface} = $iface; next; } if (/inet/) { if (/\-\-\>/) { # PPP, (SLIP?) ($inet{$iface} = $_) =~ s/.*inet ([^ ]+) \-\-\> ([^ ]+).*/$1/; ($ppp{$iface} = $_) =~ s/.*inet ([^ ]+) \-\-\> ([^ ]+).*/$2/; } else { ($inet{$iface} = $_) =~ s/.*inet ([^ ]+).*/$1/; } } if (/netmask/) { ($mask = $_) =~ s/.*netmask ([^ ]+).*/$1/; $mask =~ s/^/0x/ if ($mask =~ /^[0-9a-f]*$/); $netmask{$iface} = $mask; } if (/broadcast/) { ($bcast{$iface} = $_) =~ s/.*broadcast ([^ ]+).*/$1/; } } }
Upload File
Create Folder