CykelSmeden fra Aalborg skrev:
> jeg har jævnligt behov for at kontrollere logs, typisk i formatet:
>
> 195.192.19.44 130.226.220.82 131 10485
> 195.192.19.44 195.215.127.187 67 6068
>
> jeg kunne tænke mig output noget i retning af:
>
> 195.192.19.124 207.68.131.9 [wustat.windows.com] 8 571
>
> kræver det programmering eller kan sådant gøres med scripts?
Jeg ville lave noget i retning af
#v+
while read myIP theirIP foo bar
do
echo -e "${myIP}\t${theirIP} [$(dnsname ${theirIP})]\t${foo}${bar}"
done < logfile
#v-
Hvor dnsname er en del af <
http://cr.yp.to/djbdns.html>, men "dnsname"
kan evt. erstattes med "dig +short -x" eller "host -i", el.lign. der
kan lave navneopslag på en IP-adresse. De to sidstnævnte leverer dog
et mindre kønt resultat hvis PTR'en peger på et CNAME.
Ellers prøv <
http://freshmeat.net/search/?q=logresolve>.
Ellers kunne python være en løsning:
#!/usr/bin/python
#v+
from sys import stdin
from socket import getfqdn
line = stdin.readline()
while line:
elms = line.split()
print '%s\t%s [%s]\t%s\t%s' % (
elms[0], elms[1], getfqdn(elms[1]), elms[2], elms[3]
)
line = stdin.readline()
#v-
Og ellers er der sikkert hajer her i farv^H^H^H^Hgruppen som kan lave
noget smartere i perl.
// Klaus
--
><> vandag, môre, altyd saam