for ip in `netstat -nt|awk '{ print $5 }'|cut -d ":" -f 1|tail -n +3|sort|uniq`; do
echo $ip;whois $ip|grep -i netname;echo "---------------------------"
done
77.88.47.40
netname: YANDEX-77-88-47
---------------------------
40.77.167.5
---------------------------
180.76.15.143
netname: Baidu
---------------------------
77.88.47.40
netname: YANDEX-77-88-47
---------------------------
5.255.250.113
netname: YANDEX-5-255-250
---------------------------
77.88.47.40
netname: YANDEX-77-88-47
---------------------------
180.76.15.156
netname: Baidu
---------------------------
77.88.47.40
netname: YANDEX-77-88-47
---------------------------
207.46.13.111
---------------------------
77.88.47.40
netname: YANDEX-77-88-47
---------------------------
Revised More Efficient/Better Version:
I like this version better becaues it uses the same data from netstat because even a few seconds later the table may have changed and the connection will no longer be visible. This way is also quicker and more efficient since there are no more multiple calls to the netstat binary.
rawoutput=`netstat -nt`
ipoutput=`echo "$rawoutput"|awk '{ print $5 }'|cut -d ":" -f 1|tail -n +3|sort|uniq`
for ip in $ipoutput; do
echo $ip;
sourceconn=`echo "$rawoutput"|grep -i $ip|awk '{print $4}'|sort|uniq`
whois=`whois $ip|grep -Ei "netname|range:|route:|cidr:"`
if [ -z "$whois" ]; then
whois=`whois $ip|grep -vE "^$|^#|^$|^\["`
fi
echo -e "$whois\n$sourceconn\n---------------------------"
done
More Advanced/Slower Version
The above version doesn't always capture the name of the network, here is a more advanced script that is more inclusive and also shows the IP ranges associated with the IP and also the IPs and ports it is actually connected to.
for ip in `netstat -nt|awk '{ print $5 }'|cut -d ":" -f 1|tail -n +3|sort|uniq`; do
echo $ip;
sourceconn=`netstat -nt|grep -i $ip|awk '{print $4}'|sort|uniq`
whois=`whois $ip|grep -Ei "netname|range:|route:|cidr:"`
if [ -z "$whois" ]; then
whois=`whois $ip|grep -vE "^$|^#|^$|^\["`
fi
echo -e "$whois\n$sourceconn\n---------------------------"
done
58.242.83.36
netname: HUAIBEIBASIP
route: 58.242.0.0/15
route: 58.242.0.0/15
192.168.1.236:22
---------------------------
198.255.100.58
FDCservers.net FDCSERVERS (NET-198-255-0-0-1) 198.255.0.0 - 198.255.127.255
FDCservers.net FDCSERVERS-DENVERENT (NET-198-255-100-0-1) 198.255.100.0 - 198.255.101.255
192.168.1.102:80
192.168.1.189:80
192.168.1.236:80
192.168.1.61:80
---------------------------
185.71.66.10
netname: StormWall-net
route: 185.71.66.0/24
192.168.1.102:80
192.168.1.189:80
192.168.1.236:80
192.168.1.61:80
---------------------------
linux, bash, ips, ip, netstat, nt, awk, quot, uniq, echo, whois, grep, netname, yandex, baidu,