/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
ip-log til resolvename
Fra : CykelSmeden fra Aalb~


Dato : 15-07-02 15:56

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
195.192.19.124 195.231.241.194 130 6157
195.192.19.124 207.68.131.9 8 571
195.192.19.124 130.226.1.2 43 3027
altså med mine egne ip-adresser først, derefter en ukendt (også
tekst-længde) ipadresse som jeg gerne vil have resolvet.
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?

finn


--
--- CykelSmeden.... edb på gadeplan

Hvis intet er anført, taler jeg om RH 7.1
og når jeg spørger, er det bare fordi jeg ved for lidt!



 
 
Klaus Alexander Seis~ (15-07-2002)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 15-07-02 17:50

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

CykelSmeden fra Aalb~ (19-07-2002)
Kommentar
Fra : CykelSmeden fra Aalb~


Dato : 19-07-02 16:27

Klaus Alexander Seistrup wrote:
> 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.
>
TAK. det voldte mig lidt underholdning indtil jeg fandt ud af at dnsname
skulle udskiftes med host -:)

hilsen finn





Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408825
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste