É por causa de uma nova versão do whois ou devo testar a matriz para o ipv6 (o ipv4 é muito antigo?)

-5

Isto diz respeito a um script antigo de 2013 que alguns Usuários e Usuários do Ubuntu-Forum do askubuntu criaram, junto comigo. O script é:

#!/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

Devo colocar uma matriz aqui na variável ip para fazer um scan endereço ipv6? Ou isso é devido a uma nova versão do whois? Uma correção para este script será recompensada.

Obviamente, o provedor (unitymedia) tem um novo firewall que torna impossível uma consulta whois. Devo esperar por uma nova atualização do whois? Ou esse problema pode ser resolvido?

O resultado deste script termina da seguinte forma:

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

Mas whois funciona quando o endereço ipv6 é dado explicitamente na linha de comando:

whois 2a02:0908:fd60:9200:b196:36be:5aa1:b60b:

Parece que o banco de dados whois está parcialmente danificado, ou como se alguém estivesse proibindo consultas?

A diferença é que, ao fazer uma consulta na página inicial link depois de inserir os números de ip lá no campo de consulta, os resultados não são o mesmo que quando se faz whois-query localmente na sua máquina.

Caso o texto deste tópico seja inadequado, ajuste-o para o inglês adequado. Minha sintaxe é diferente da sua sintaxe. : -)

    
por dschinn1001 03.12.2015 / 00:57

1 resposta

1

Não tenho certeza de qual saída você está esperando (atualizarei esta resposta se ficar clara), mas a mensagem de erro é causada pela saída de printf to "$ip" na linha 8, que é interpretada como um comando.

O script a seguir não apresenta erros, mas não tenho certeza se é a saída que você procura:

#!/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 ' && echo "$ip";
    whois "$ip" >> log-002.txt;
done

A saída será anexada ao arquivo log-002.txt no diretório atual (como já estava no seu script original).

    
por Gsxr1k 07.12.2015 / 11:25