📜  列出所有 IP 的 Shell 脚本(1)

📅  最后修改于: 2023-12-03 15:22:39.092000             🧑  作者: Mango

列出所有 IP 的 Shell 脚本

在服务器管理和网络管理中,获取所有IP地址是十分有用的任务。用Shell脚本可以实现一次性列出所有IP地址,无论是本地IP或者远程IP。

方案一:ifconfig命令

在Linux中,可以使用ifconfig命令来获取本地IP地址。然后可以使用grep命令来过滤掉非IP地址的文本信息。下面是一个示例Shell脚本:

#!/bin/bash
ifconfig | grep 'inet addr:' | cut -d: -f2 | awk '{print $1}'

运行结果将输出系统所有的IP地址,例如:

192.168.1.101
127.0.0.1

方案二:ip命令

在新的Linux发行版中,ifconfig命令已经被ip命令所取代。ip命令更加强大和灵活,可以用来获取所有类型的网络信息,包括IP地址。下面是一个示例Shell脚本:

#!/bin/bash
ip addr | grep 'inet ' | awk '{print $2}' | cut -f1 -d'/'

这条命令将输出所有本地IP地址,例如:

192.168.1.101
127.0.0.1

方案三:nmap命令

如果你想获取远程主机的IP地址,可以使用nmap命令。nmap是一个网络扫描程序,可以用来列出主机的所有开放端口和IP地址。下面是一个示例Shell脚本:

#!/bin/bash
nmap -sP 192.168.1.0/24 | grep 'report' | awk '{print $5}'

这个脚本将扫描本地网络,并列出所有本地IP地址,例如:

192.168.1.1
192.168.1.101

总结

本文介绍了3种列出所有IP地址的Shell脚本方法:ifconfig命令、ip命令和nmap命令。你可以根据自己的需要选择最适合的方法。无论哪种方法,都可以让你轻松获取所有IP地址。