gpt4 book ai didi

linux - Bash 脚本阻止所有 Apple 设备

转载 作者:太空狗 更新时间:2023-10-29 11:37:59 27 4
gpt4 key购买 nike

我正在尝试创建一个 shell 脚本来阻止我网络上的所有苹果设备。我正在使用 nmap 进行操作系统检测。我到目前为止是这样的:

while (true) do
nmap -O -T4 -p 22,80 -v 172.20.0.0/24 | grep -B9 'OS details: Apple' | \
grep 'Nmap scan report for' | cut -f4 -d'r' | cut -f2 -d' ' | \
iptables -i wlan0 -A INPUT -j DROP -s
sleep 10
done

有没有一种方法可以简化这一点,从而减少 grepping 和 cutting 的参与?此外,如果在网络上发现多于一个或零个苹果设备,此脚本将运行出错。是否可以为此添加逻辑?

最佳答案

是的,当然可以。您可以使用 perl/awk 来大大简化脚本。

另外,我目前不确定您的脚本是否正确。您有一个将地址写入 iptables 的管道,但是 iptables这种方式行不通。

如果你想为每个由 nmap 生成的地址运行 iptables,您可以使用 read 将地址读取到某个变量(在我的示例中为 ADDR)然后使用 iptables 中的变量:

while (true) do
nmap -O -T4 -p 22,80 -v 172.20.0.0/24 | grep -B9 'OS details: Apple' | \
grep 'Nmap scan report for' | cut -f4 -d'r' | cut -f2 -d' ' | \
while read ADDR
do
iptables -i wlan0 -A INPUT -j DROP -s $ADDR
done
sleep 10
done

关于linux - Bash 脚本阻止所有 Apple 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20885682/

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