如何在 Bash 脚本中操作从路由 table 获取的特定 IP 地址
How to manipulate a particular IP address that is taken from route table in Bash Script
我正在尝试用 Bash 脚本编写网络扫描器。我从路由 table(我的路由器的 IP)获取 IP,但现在我想删除该 IP 的最后一位数字并放一个字母,以便我能够将该 IP 地址放入循环生成更连续的 IP 地址。
这是我正在谈论的代码:
first_ip=$(route -n | awk 'NR>2{print }' | head -1)
现在,如何删除该 IP 的最后一个字符?
您可以使用 grep
:
删除 IP 地址 的最后一部分
first_ip=$(route -n | awk 'NR >2 { print }' | head -1 | grep -oE "\b([0-9]{1,3}\.){3}")
这会为您提供 route-n
列出的 IP 地址的前三个数字。
然后,您可以添加任意数字 XXX,如下所示:
first_ip=$(route -n | awk 'NR >2 { print }' | head -1 | grep -oE "\b([0-9]{1,3}\.){3}")
first_ip = first_ip"XXX"
所以如果你有 IP 地址 192.155.177.123 你会得到 192.155.177.
然后你可以添加任何你想添加的号码...
希望对您有所帮助!
我正在尝试用 Bash 脚本编写网络扫描器。我从路由 table(我的路由器的 IP)获取 IP,但现在我想删除该 IP 的最后一位数字并放一个字母,以便我能够将该 IP 地址放入循环生成更连续的 IP 地址。
这是我正在谈论的代码:
first_ip=$(route -n | awk 'NR>2{print }' | head -1)
现在,如何删除该 IP 的最后一个字符?
您可以使用 grep
:
first_ip=$(route -n | awk 'NR >2 { print }' | head -1 | grep -oE "\b([0-9]{1,3}\.){3}")
这会为您提供 route-n
列出的 IP 地址的前三个数字。
然后,您可以添加任意数字 XXX,如下所示:
first_ip=$(route -n | awk 'NR >2 { print }' | head -1 | grep -oE "\b([0-9]{1,3}\.){3}")
first_ip = first_ip"XXX"
所以如果你有 IP 地址 192.155.177.123 你会得到 192.155.177. 然后你可以添加任何你想添加的号码...
希望对您有所帮助!