gpt4 book ai didi

linux - 如何查看IP是否被使用?

转载 作者:太空宇宙 更新时间:2023-11-04 04:55:35 25 4
gpt4 key购买 nike

我在服务器中有以下IP

192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4

我需要知道这些IP是否正在被使用?

我可以找到使用 lsof 但它太慢了

for ip in ${server_ip_list[@]}; do
lsof -i @$ip &>/dev/null && echo "$ip is used" || echo "$ip is unused"
done

下面的命令更快,但我需要指定端口和协议(protocol)

true &>/dev/null </dev/tcp/192.168.1.1/80 && echo used || echo unused

我正在寻找一个更快的命令,使用它可以确定是否使用 IP,无论协议(protocol)或端口如何。

如果有人可以帮助提供解决方案或我可以阅读相关内容的链接,我将不胜感激。

最佳答案

也许您可以使用命令ping来检查是否正在使用特定的IP(不要在防火墙中禁用ICMP)。如果您认为forwhile循环操作太慢,您可以尝试使用命令parallel同时执行命令。

代码示例如

ip_check(){
ip="$1"
ping -c 1 -W 1 "$ip" &> /dev/null
if [[ $? -eq 0 ]]; then
echo 'used'
else
echo 'unused'
fi
}

export -f ip_check

cat ip_file.txt | parallel -k -j 0 ip_check 2> /dev/null

关于linux - 如何查看IP是否被使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46968091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com