Linux Bash Script To List All Connected IPs and their network name

 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
--------------------------- 

 


Tags:

linux, bash, ips, ip, netstat, nt, awk, quot, uniq, echo, whois, grep, netname, yandex, baidu,

Latest Articles

  • python 3 pip cannot install mysql module
  • QEMU-KVM won't boot Windows 2016 or 2019 server on an Intel Core i3
  • Virtualbox vbox not starting "No suitable module for running kernel found"
  • Bind / named not responding to queries solution
  • Linux Mint How To Set Desktop Background Image From Bash Prompt CLI
  • ImageMagick Convert PDF Not Authorized
  • ImageMagick Converted PDF to JPEG some files have a black background solution
  • Linux Mint Mate Customize the Lock screen messages and hide username and real name
  • Ubuntu/Gnome/Mint/Centos How To Take a partial screenshot
  • ssh how to verify your host key / avoid MIM attacks
  • Cisco IP Phone CP-8845 8800/8900 Series How To Reset To Factory Settings Instructions
  • ls how to list ONLY directories
  • How to encrypt your SSH private key file id_rsa
  • Linux Mint 18 Disable User Name List from showing on Login Screen
  • Firefox Cannot Hit Enter Key In Address Bar and Location History Not Working
  • Cisco Unified Communications Manager / CUCM IP 8.6,10,12 Install Error Solution
  • Ubuntu Debian Mint Linux SSHD OpenSSH Server Not Starting After Reboot Solution
  • nmap how to scan for all ports and not just the 1000 most common ports
  • Windows 7,8,10 and Server 2008, 2012, 2016, 2019 Read Only Attribute Won't Go Away
  • bind / named how to make a wildcard record and retain defined A records