供参考:
IPLIST=$(cat ip)
NETLIST=$(cat network)
for ip in ${IPLIST}
do
echo "IP: $ip";
for network in ${NETLIST}
do
[ "$(ipcalc -n $ip/${n ...
$ ls
ip network
$
$ IPLIST=$(cat ip)
$ echo ${IPLIST}
211.130.6.2 192.168.24.279 211.147.6.3 202.99.8.1 202.106.7.1 211.103.0.3 221.131.0.5
$
$ NETLIST=$(cat network)
$ echo ${NETLIST}
211.103.0.0/20 221.131.0.0/16 192.168.24.0/24
$
$ for ip in ${IPLIST}
do
echo "IP: $ip";
for network in ${NETLIST}
do
[ "$(ipcalc -n $ip/${network#*/} | sed -n '2,$p')" = "$(ipcalc -n $network | sed -n '2,$p')" ] &&
echo -e "$ip\tis in $network" ||
echo -e "$ip\tis not in $network"
done
echo "--------------------------------";
done
IP: 211.130.6.2
211.130.6.2 is not in 211.103.0.0/20
211.130.6.2 is not in 221.131.0.0/16
211.130.6.2 is not in 192.168.24.0/24
--------------------------------
IP: 192.168.24.279
192.168.24.279 is not in 211.103.0.0/20
192.168.24.279 is not in 221.131.0.0/16
192.168.24.279 is not in 192.168.24.0/24
--------------------------------
IP: 211.147.6.3
211.147.6.3 is not in 211.103.0.0/20
211.147.6.3 is not in 221.131.0.0/16
211.147.6.3 is not in 192.168.24.0/24
--------------------------------
IP: 202.99.8.1
202.99.8.1 is not in 211.103.0.0/20
202.99.8.1 is not in 221.131.0.0/16
202.99.8.1 is not in 192.168.24.0/24
--------------------------------
IP: 202.106.7.1
202.106.7.1 is not in 211.103.0.0/20
202.106.7.1 is not in 221.131.0.0/16
202.106.7.1 is not in 192.168.24.0/24
--------------------------------
IP: 211.103.0.3
211.103.0.3 is in 211.103.0.0/20
211.103.0.3 is not in 221.131.0.0/16
211.103.0.3 is not in 192.168.24.0/24
--------------------------------
IP: 221.131.0.5
221.131.0.5 is not in 211.103.0.0/20
221.131.0.5 is in 221.131.0.0/16
221.131.0.5 is not in 192.168.24.0/24
--------------------------------
原帖由 kaka_sun 于 2008-12-10 10:48 发表
IPLIST=$(cat ip)
NETLIST=$(cat network)
for ip in ${IPLIST}
do
echo "IP: $ip";
for network in ${NETLIST}
do
[ "$(ipcalc -n $ip/${network#*/})" = "$(ipcalc -n $network)" ] &&
...
# ipcalc -n 211.105.0.0/24
Address: 211.105.0.0 11010011.01101001.00000000. 00000000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 211.105.0.0/24 11010011.01101001.00000000. 00000000
HostMin: 211.105.0.1 11010011.01101001.00000000. 00000001
HostMax: 211.105.0.254 11010011.01101001.00000000. 11111110
Broadcast: 211.105.0.255 11010011.01101001.00000000. 11111111
Hosts/Net: 254 Class C
# ipcalc -n 211.105.0.3/24
Address: 211.105.0.3 11010011.01101001.00000000. 00000011
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 211.105.0.0/24 11010011.01101001.00000000. 00000000
HostMin: 211.105.0.1 11010011.01101001.00000000. 00000001
HostMax: 211.105.0.254 11010011.01101001.00000000. 11111110
Broadcast: 211.105.0.255 11010011.01101001.00000000. 11111111
Hosts/Net: 254 Class C
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |