Witam
Jestem tym gościem, który zrobił to na ethereal. Odpowiem na parę pytań zadanych w tym wątku...
Cytuj:
zdefiniuj "pełną wersję Linuksa"
W moim przypadku Fedora 2. PS: Nie będę wdawał się w dyskusje na temat "pełności" poszczególnych dystrybucji.
Cytuj:
co środowisko X Window ma do roboty na serwerze...
W zasadzie niewiele. Poprostu - jest sobie i nie przeszkadza
Nie uważam, żeby był niezbędnym elementem routera, ale czasami przydaje się właśnie ze względu na Ethereal. Jak ktoś mi narzeka, że coś mu nie działa, to odpalam sobie iksy + graficzny ethereal i podglądam pakiety, czy idą SYN, czy wracają SYN+ACK, czy gościu nie ma jakiegoś dziwnego TTL (te są u mnie blokowane) itp.
Cytuj:
No Panie... na X-ach to wiadomo...
Akurat nie na Iksach. W pakiecie z graficznym Ethereal'em instaluje się konsolowe narzędzie: "tethereal". Pewnie da się jakoś zainstalować samo i użyć w ndd. Nie próbowałem.
Robi to taki skrypcik:
#!/bin/sh
SIZE="1000" # Rozmiar plikow w kilobajtach
if [ "$1" = "" ]; then
DEV="eth1"
else
DEV=$1
fi
FILENAME="/root/ethereal_captured/$DEV"
echo "Przechwytuje pakiety SYN na interfejsie $DEV"
echo "Do plikow: $FILENAME o rozmiarze ${SIZE}kB"
tethereal -i $DEV -f "! (dst net 10) and tcp[13]=2" -a filesize:$SIZE -w $FILENAME -b 0 &
Do tego, od czasu do czasu to sobie kompresuję:
#!/bin/sh
DIR="/root/ethereal_captured/"
FILENAME="*"
echo "Kompresuje pliki ${DIR}${FILENAME}"
for plik in ${DIR}${FILENAME} ; do
gzip -v $plik
done
Wychodzi tego około 20 plików po 1MB dziennie, co po kompresji daje koło 6MB. (Sieć - 8 osób)
Widzę, że to co wymyśliłem jest podobne do zaprezentowanego wcześniej rozwiązania na tcpdump. Z tą różnicą, że tethereal sam sobie radzi z rotacją plików i nie trzeba używać crona. Gdyby jeszcze jakoś przekazać wynik przechwytywania potokiem do gzipa, żeby nie trzeba było osobno kompresji wykonywać... Mnie się nie udało