7
votes

Passez STDIN dans UNIX HOST OU DIG

Disons que j'ai une liste d'IPS entrant dans un journal que je suis à la mode: xxx

Je voudrais les résoudre facilement à des noms d'hôte. Je voudrais être capable de xxx

qui échoue comme hôte ne comprend pas l'entrée de STDIN de cette manière. Quel est le moyen le plus simple de faire sans avoir à écrire un fichier statique ni de replier à Perl / Python / etc.?


0 commentaires

4 Réponses :


23
votes

Utiliser xargs -l : xxx


2 commentaires

Cela va en réalité Hiccup en tant qu'hôte sera exécuté avec l'hôte 1.1.1.1 1.1.1.2 provoquant une recherche DNS sur un serveur DNS non valide. Réglage "-D '\ n'" ne semble pas l'aider.


Utilisez "Xargs -L" (ou "Xargs -L 1") pour vous assurer que la commande est exécutée pour chaque ligne.



5
votes

Vous pouvez également utiliser le Lire intégrée :

tail -f access.log | while read line; do host $line; done


0 commentaires

3
votes

Dans les commandes ci-dessous, remplacez chat avec queue -f , etc. Si nécessaire.

Utilisation de : xxx

en utilisant dig : xxx

Notez que l'option -i à xargs implique l'option -l 1 .

Pour d'abord obtenir les IPS de Son hôte, voir Cette réponse .


0 commentaires

0
votes

en bash vous pouvez faire: XXX PRE>

Programme d'exemple: P>

(
cat <<EOF
asdf.com
ibm.com
microsoft.com
nonexisting.domain
EOF
) | (dig -f <(cat))


0 commentaires