这是关于 2013 年的一个旧脚本,一些 Ubuntu 论坛用户和 askubuntu 的用户与我一起提出。脚本是:
#!/bin/bash
awk '{
for (i = 1; i <= NF; i++)
if ($i ~ /^SRC=/)
print substr($i, 5)
}' /var/log/syslog | sort -u | while read ip;
do
printf ' INVALID STATE ' && printf ' =.|=.|=.|= %n =.|=.|=.|=\n ' | "$ip";
whois "$ip" >> log-002.txt;
done
我应该在变量 ip 中放置一个 matriz 来创建一个可扫描的 ipv6 地址吗?或者这是由于新版本的whois?对此脚本的更正将得到奖励。
显然,提供商 (unitymedia) 有一个新的防火墙,这使得 whois 查询变得不可能。我应该等待 whois 的新更新吗?或者这个问题可以解决吗?
该脚本的结果如下:
INVALID STATE ./pitbull-001.sh: Zeile 8: 2a02:0908:fd60:9200:b196:36be:5aa1:b60b: command not found INVALID STATE ./pitbull-001.sh: Zeile 8: 2a02:0908:fd60:9200:ba70:f4ff:fef3:2df3: command not found INVALID STATE ./pitbull-001.sh: Zeile 8: fe80:0000:0000:0000:0a95:2aff:fe7a:bca7: command not found INVALID STATE ./pitbull-001.sh: Zeile 8: fe80:0000:0000:0000:ba70:f4ff:fef3:2df3: command not found
但是当在命令行明确给出 ipv6 地址时 whois 确实有效:
whois 2a02:0908:fd60:9200:b196:36be:5aa1:b60b:
好像whois数据库部分损坏,或者好像有人禁止查询?
不同之处在于,当在查询字段中输入 ip 号码后在主页http://whois.net进行查询时,结果与在您的计算机本地进行 whois 查询时的结果不同。
如果此线程的文本不合适,请将其调整为正确的英文。我的语法与你的语法不同。:-)
我不太确定你期望的输出是什么(如果它变得清晰,我会更新这个答案),但错误消息是由管道输出
printf
到"$ip"
第 8 行引起的,它被解释为命令。下面的脚本不会报错,但我不确定它是否是你想要的输出:
输出将附加到
log-002.txt
当前目录中的文件(因为它已经包含在您的原始脚本中)。