Strona 1 z 1
Zamiana numeru ip na nazwę dns skryptem
: 03 października 2012, 10:30
autor: gaijin
Cześć
.
Mam duży plik do analizy, w którym występują adresy ip ale chciałbym by były widoczne zamiast nich nazwy dns, czyli mam:
a chcę:
Coś takiego mam w pliku:
Kod: Zaznacz cały
3 09:39:29 linux-suse kernel: [ 5854.240118] wychodzace ok IN= OUT=eth0 SRC=xxx.xxx.xxx.xxx DST=212.77.100.101 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=42441 DF PROTO=TCP SPT=41153 DPT=80 WINDOW=43 RES=0x00 ACK FIN URGP=0
Czy ktoś pomoże?
: 03 października 2012, 19:04
autor: kodama
Ja bym próbował robić tak - sprawdzić jaki adres ip kieruje na jaką domenę możesz np. poleceniem host:
Kod: Zaznacz cały
kodama@debian:~$ host 212.77.100.101
101.100.77.212.in-addr.arpa domain name pointer www.wp.pl.
Kwestia tylko, żebyś sobie "wyłuskał" z pliku adresy ip, przekazał sobie do skryptu i masz domeny.
: 04 października 2012, 08:33
autor: gaijin
No tak
, ale ja potrzebuję nie tylko je wyciągnąć, tylko raczej zamienić całą linię z portem, czasem wystąpienia
.
Pobawię się poleceniem sed w takim razie, czy może innego użyć?
Kod: Zaznacz cały
sed -n 's/.*\(SRC[^<]*LEN\).*/\1/p' cos|sed -e 's/ LEN //g'|cut -c 1-42|sed -e 's/ LEN//g'|sed -e 's/ LE//g'
Daje to wynik pewny ale czy da się jakoś łatwiej wyciąć określone bloki danch czyli pomiędzy 1 a 2 i 3 i 4 i złożyć...
: 04 października 2012, 19:27
autor: kodama
Na szybko to ja bym zrobił tak:
Kod: Zaznacz cały
#!/bin/bash
while read line; do
z=` echo $line | sed -n 's/.*DST=\([0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}\).*/\1/p'`;
f=`host $z`;
echo $f | awk '{print $5}'>>wyjsciowy;
done<qwerty
przekazujesz sobie wszystkie wyniki "rozwiązanych" adresów ip do pliku wyjsciowy i już.
: 05 października 2012, 09:13
autor: gaijin
Już jakoś sobie radzę ale: skrypt robiący hosty nie działa - tworzy za dużo danych - jak napisać skrypt, który robi host i każda z danych w pliku, w którym są tylko adresy IP?
Kod: Zaznacz cały
cat plik2|while read linia;do host $linia;done
Ale tworzy mi znacznie więcej linii wynikowych niż mam adresów IP. Nie wiem o co chodzi?
Znalazłem: