Urlsnarf - logowanie połączeń www do pliku
|
smereka |
Dodano 06-10-2012 15:22
|
User
Posty: 112
Dołączył: 26/01/2012 23:45
|
robię wszystko jak jest napisane i zapisywanie do pliku mi nie działa Po wpisaniu polecenia wyświetlającego odwiedzane strony
urlsnarf -i br0 | awk '{print $1" - "$5" - "$8}'
w putty wyświetla mi je na ekranie ale pliku na pendrive nie tworzy
w pliku /opt/bin/urlsnarf_loger mam wpisane tak:
dir=/opt/a/urlsnarf
Na pendrive stworzony oczywiście katalog o nazwie "a" do logów
po wpisaniu df -h mam:
Filesystem Size Used Available Use% Mounted on
/dev/root 7.4M 7.4M 0 100% /
tmpfs 62.0M 312.0K 61.7M 0% /tmp
devfs 62.0M 0 62.0M 0% /dev
/dev/sda1 7.2G 13.2M 6.8G 0% /opt
[root@unknown root]$
po wpisaniu mount:
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw)
tmpfs on /tmp type tmpfs (rw)
devfs on /dev type tmpfs (rw,noatime)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /opt type ext2 (rw)
[root@unknown root]$
Proszę o pomoc. Przemo1 a jak Ty rozwiązałeś swój problem bo chyba miałeś podobnie? |
|
|
|
drawsko |
Dodano 27-10-2012 10:06
|
Power User
Posty: 249
Dołączył: 06/07/2011 07:31
|
czy da się zmusić Urlsnarf aby przechwytywał również odwiedzane strony na 443 ? |
|
|
|
mazil18 |
Dodano 04-12-2012 07:35
|
User
Posty: 81
Dołączył: 01/03/2012 12:06
|
Witam W zapisie stron mam dosyć często takie wpisy czy to normalne ?
" Rosa2 4/Dec/2012:07:16:13 "-" " |
|
|
|
hermes-80 |
Dodano 04-12-2012 13:14
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Trzeba poprawić skrypt do własnych warunków (awk) - oczywiście to jest nienormalne
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
drawsko |
Dodano 11-12-2012 12:18
|
Power User
Posty: 249
Dołączył: 06/07/2011 07:31
|
dostosowałem kiedyś awk do swoich warunków, wczoraj patrzę w logi ... cześć logów jest noramlnie a od pewnego momentu syf. Co wpływa że trzeba mieszać z awk ? |
|
|
|
Julo |
Dodano 15-05-2013 19:54
|
User
Posty: 13
Dołączył: 17/10/2012 20:43
|
U mnie skrypt nie chce zadziałać - ustawiłem ścieżkę na dir=/nas/log/urlsnarf i jedyne co widzę w logach to to, że wpada w pętle ubijającą procesCytat logger Urlsnarf_loger - stop
Skrypt na razie dodałem sobie testowo do WAN UP po sleep 120 (do schedulera jeszcze nie wrzucałem). Co mogę sprawdzić ? |
|
|
|
hermes-80 |
Dodano 16-05-2013 09:39
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Cytat drawsko napisał(a):
dostosowałem kiedyś awk do swoich warunków, wczoraj patrzę w logi ... cześć logów jest noramlnie a od pewnego momentu syf. Co wpływa że trzeba mieszać z awk ?
Trzeba sprawdzić co wypluwa w konsoli i jakie parametry awk ściąga do pliku.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
drawsko |
Dodano 16-05-2013 10:22
|
Power User
Posty: 249
Dołączył: 06/07/2011 07:31
|
@hermes-80 po zainstalowaniu urlsnarf dostosowałem sobie ustawienia awk. ale zakres wyrzucanych inf. przez urlsnarf się chyba zmienia i awk wycina nie te rzeczy do trzeba. |
|
|
|
hermes-80 |
Dodano 16-05-2013 10:37
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Żeby znaleźć problem trzeba porównać informacje wypluwane przed i po.
Instrukcje warunkową możesz przecież dopisać.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
Karwas |
Dodano 06-08-2013 09:32
|
User
Posty: 5
Dołączył: 08/07/2013 11:33
|
Wszystko fajnie mi działało, ale do końca lipca :-)
Z pierwszym sierpnia coś się posypało.
Jak miałem wpisy w pliku: komputer [31/Jul/2013:07:37:25 +0200] http://www.google.pl/
tak od 1 sierpnia:
komputer [ 1/Aug/2013:07:34:34 "POST
komputer [ 1/Aug/2013:07:34:34 "GET
W skrypcie mam
[#!/opt/bin/bash
### USTAWIENIA#####
dir=/opt/var/log/urlsnarf
####################
#killuje jezeli dziala
ifrun=`ps | grep urlsnarf | grep br0 | wc -l`
if [ ! "ifrun" == "0" ] then
logger Urlsnarf_loger - stop
killall urlsnarf
fi
#tworze nowy log i odpalam urlsnarfa
katalog=`date '+%m-20%y'`
nazwaPliku=urlsnarf-`date '+%d'`_`date '+%m'`_20`date '+%y'`.log
if [ -d "$dir" ] then
if [ ! -d "$dir/$katalog" ] then
mkdir $dir/$katalog
logger Urlsnarf_logel - start
/opt/bin/urlsnarf -i br0 | awk '{print $1" "$4" "$5" "$7 }' >> $dir/$kat
else
1Help 2Save 3Mark 4Replac 5Copy 6Move 7Search 8Delete 9PullDn10Quit
urlsnarf_loger [B---] 0 L:[ 3+43 46/ 46] *(1258/1258b)
### USTAWIENIA#####
dir=/opt/var/log/urlsnarf
####################
#killuje jezeli dziala
ifrun=`ps | grep urlsnarf | grep br0 | wc -l`
if [ ! "ifrun" == "0" ] then
logger Urlsnarf_loger - stop
killall urlsnarf
fi
#tworze nowy log i odpalam urlsnarfa
katalog=`date '+%m-20%y'`
nazwaPliku=urlsnarf-`date '+%d'`_`date '+%m'`_20`date '+%y'`.log
if [ -d "$dir" ] then
if [ ! -d "$dir/$katalog" ] then
mkdir $dir/$katalog
logger Urlsnarf_logel - start
/opt/bin/urlsnarf -i br0 | awk '{print $1" "$4" "$5" "$7 }' >> $dir/$katalog/$nazwaPliku &
else
logger Urlsnarf_logel - start
/opt/bin/urlsnarf -i br0 | awk '{print $1" "$4" "$5" "$7 }' >> $dir/$katalog/$nazwaPliku &
fi
else
echo "Katalog $dir nie istnieje"
fi
#kompresuje stare logi
cd $dir && find -name '*.log' > /tmp/urlsnarf_loger.tmp
exec 0< /tmp/urlsnarf_loger.tmp
while read line
test -n "$line"
do
NAZWA=`echo "$line" | cut -d "/" -f3`
MIESIAC=`echo "$line" | cut -d "/" -f2`
if [ ! "$NAZWA" == "$nazwaPliku" ] then
cd $dir/$MIESIAC
tar cvzf $NAZWA.tar.gz $NAZWA >> /dev/null
rm -rf $NAZWA
fi
done
rm -rf /tmp/urlsnarf_loger.tmp
Ma ktoś jakiś pomysł co się popsuło? |
|
|
|
drawsko |
Dodano 06-08-2013 09:51
|
Power User
Posty: 249
Dołączył: 06/07/2011 07:31
|
mam ten sam problem ... pisałem o tym parę postów wcześniej. Logi są w kratkę, raz są poprawne następnym razem kaszna (identycznie jak u @Karwas) |
|
|
|
Marco76 |
Dodano 07-08-2013 00:02
|
Super User
Posty: 433
Dołączył: 08/03/2007 19:47
|
Hm, a jakie dane wyciągacie? Jeżeli wystarczy tylko GET/HOST to proponuję spróbować tcpdump.
[small] Pozdrawiam, Monter
Asus RT-N18 + FreshTomato 2019.3 K26ARM USB AIO-64K-NOSMP + ILHM v2
HTPC Chieftec FLYER FI-02BC-U3 + GA-H61N-USB3 + i3-3225 + 4GB RAM + LibreELEC + Xbox DVD Remot
|
|
|
|
Karwas |
Dodano 07-08-2013 08:17
|
User
Posty: 5
Dołączył: 08/07/2013 11:33
|
Cytat drawsko napisał(a):
mam ten sam problem ... pisałem o tym parę postów wcześniej. Logi są w kratkę, raz są poprawne następnym razem kaszna (identycznie jak u @Karwas)
Czytałem posty i jakoś nie zauważyłem:-)
Próbowałeś wgrywać wszystko od nowa? Tzn przywrócic ustawienia domyslne w routerze i wgrać wszystko na nowo.
Może coś się posypało w ustawieniach? |
|
|
|
hermes-80 |
Dodano 07-08-2013 08:43
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Cytat Próbowałeś wgrywać wszystko od nowa? Tzn przywrócic ustawienia domyślne w routerze i wgrać wszystko na nowo.
Nie potrzebnie - wystarczy rozszerzyć parametry awk lub zrezygnować z wyciągania konkretnych informacji i pakować wszystko co urlsnaft wypluje i po kłopocie (awk jest dodane by estetyczniej wyglądał log).
/opt/bin/urlsnarf -i br0 [color=#ff0000]| awk '{print $1" "$4" "$5" "$7 }'[/color] >> $dir/$katalog/$nazwaPliku &
fi
usuń to co jest na czerwono i będzie ci wszystko logowało.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
Karwas |
Dodano 07-08-2013 09:22
|
User
Posty: 5
Dołączył: 08/07/2013 11:33
|
Działa !
Taka jak piszesz zrzut jest pełen i nie posprzątany, ale jest :-)
Muszę więcej poczytać chyba co to jest awk :-)
Pozdrawiam |
|
|
|
drawsko |
Dodano 07-08-2013 09:45
|
Power User
Posty: 249
Dołączył: 06/07/2011 07:31
|
@hermes-80 ale właśnie chodzi o tą estetykę.
Już znalazłem. Powodem problemów jest format zapisu dat przez Urlsnarf. A dokładnie brak zera wiodącego przy dniach (awk wycina nie to co trzeba i w logach w dniach 01-09 każdego miesiąca mamy śmietnik).
[31/Jul/2013:00:01:35 +0200]
[ 1/Aug/2013:16:21:40 +0200]
Połączony z 07 sierpień 2013 10:11:16:
Widzę dwa rozwiązania:
1. sprawdzenie jaki dzień mamy i w zależności od tego różne składnie z awk,
2. zanim zacznie działać awk użyć sed i usunąć spację po znaku [ (lub wstawić zero wiodące).
Rozwiązanie nr 1 łatwiejsze i bardziej optymalne.
Edytowany przez drawsko dnia 07-08-2013 10:11
|
|
|
|
Marco76 |
Dodano 07-08-2013 12:40
|
Super User
Posty: 433
Dołączył: 08/03/2007 19:47
|
IMHO najbardziej optymalne będzie zachowanie tego jednego polecenia które macie (z awk), ale wstawienie przed nim filtra złożonego z sed który zniweluje różnice w logach (usunie tą zbędną spację którą odlicza awk, a właściwie wstawi tam znak zera).
Napisałem to z palca i z pamięci, bo nie używam urlsnarf, niech ktoś sprawdzi czy taka podmiana fragmentu kodu naprawi sytuację:
Cytat
/opt/bin/urlsnarf -i br0 | sed 's/[ /[0/' | awk '{print $1" "$4" "$5" "$7 }' >> $dir/$katalog/$nazwaPliku &
[small] Pozdrawiam, Monter
Asus RT-N18 + FreshTomato 2019.3 K26ARM USB AIO-64K-NOSMP + ILHM v2
HTPC Chieftec FLYER FI-02BC-U3 + GA-H61N-USB3 + i3-3225 + 4GB RAM + LibreELEC + Xbox DVD Remot
|
|
|
|
drawsko |
Dodano 07-08-2013 15:01
|
Power User
Posty: 249
Dołączył: 06/07/2011 07:31
|
Cytat Marco76 napisał(a):
...
Cytat
/opt/bin/urlsnarf -i br0 | sed 's/[ /[0/' | awk '{print $1" "$4" "$5" "$7 }' >> $dir/$katalog/$nazwaPliku &
[ - jest znakiem specjalnym wiec chyba powinno być
Połączony z 07 sierpień 2013 15:34:00:
Idąc tropem estetyki zrobiłbym tak:
Cytat /opt/bin/urlsnarf -i br0 | sed 's/\[ /0/' | awk '{print $1" "$4" "$7 }' >> $dir/$katalog/$nazwaPliku &
czyli zamieniłbym [ 1/Aug/2013:16:21:40 +0200] na 01/Aug/2013:16:21:40
W poprzedniej wersji skryptu jeszcze sed mi wycinał 'http://' oraz 'www'
Połączony z 07 sierpień 2013 15:35:30:
* W poprzedniej wersji zmodyfikowanego skryptu jeszcze sed mi wycinał 'http://' oraz 'www'
Edytowany przez drawsko dnia 07-08-2013 15:35
|
|
|
|
Marco76 |
Dodano 07-08-2013 18:31
|
Super User
Posty: 433
Dołączył: 08/03/2007 19:47
|
Twój pomysł z wycinaniem również znaku [ jest o tyle kiepski, że i tak na końcu daty pozostanie znak ], a poza tym wszystkie linie nie mające tej szkodliwej spacji i tak będą posiadały na początku nawias [ gdyż sed je zignoruje.
Aby uchronić się przed wycinaniem zbyt wielu rzeczy przydałby się taki większy wycinek loga, bo jak gdzieś jeszcze są te nawiasy użyte i jest za nimi spacja to to rozwiązanie się nie sprawdzi, trzeba by wówczas odpowiednio poprosić awk aby przerabiał tylko wybrane pola.
[small] Pozdrawiam, Monter
Asus RT-N18 + FreshTomato 2019.3 K26ARM USB AIO-64K-NOSMP + ILHM v2
HTPC Chieftec FLYER FI-02BC-U3 + GA-H61N-USB3 + i3-3225 + 4GB RAM + LibreELEC + Xbox DVD Remot
|
|
|
|
drawsko |
Dodano 07-08-2013 22:32
|
Power User
Posty: 249
Dołączył: 06/07/2011 07:31
|
Dzięki za uwagi @Marco76. Masz rację, że wycięcie nawiasu na początku nie działało w przypadku dwucyfrowego dnia miesiąca. Więc mała modyfikacja.
Cytat /opt/bin/urlsnarf -i br0 | sed -e 's/\[ /\[0/' -e 's/ \[/ /' | awk '{print $1" "$4" "$7 }' >> $dir/$katalog/$nazwaPliku &
Czyli najpierw dodajemy zero a następnie usuwamy nawias na początku.
Natomiast nawias na końcu został wywalony z elementem $5 polecenia awk, czyli cały +0200]
Przy takim zakresie awk tj. IP DATA ADRES raczej nawias i spacja może wystąpić tylko przy drugim elemencie.
Edytowany przez drawsko dnia 07-08-2013 22:44
|
|
|