Używam tego prostego polecenia do monitorowania połączeń (aby poradzić sobie z niektórymi niedawnymi atakami DoS) na moim serwerze Debian:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Jak mam go ciągle obsługiwać? Odświeża się więc raz na minutę (lub w dowolnym określonym czasie). Próbowałem oglądać:
watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n"
Ale zmieniło wyjście z ładnej listy z liczbą połączeń na coś takiego:
1 tcp 0 10015 [LOCAL IP]
...
1 Proto Recv-Q Send-Q Local Address Foreign Address State
1 Active Internet connections (w/o servers)
Dlatego zewnętrzny adres IP nie jest wyświetlany. Czy coś mi umknęło?
Tak wygląda oryginalne wyjście:
2 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
7 [IP ADDRESS]
16 [IP ADDRESS]
71 [IP ADDRESS]
A kiedy mówię, [LOCAL IP]
mam na myśli adres IP mojej maszyny.
Kiedy go uruchomię -c
, po prostu zawiesza się.
Odpowiedzi:
może ci pomóc, jeśli nie zrozumiałem twojego problemu. -c oznacza - ciągły.
EDYCJA: proszę bardzo:
Dodałem \ przed $.
źródło
Wystarczy uruchomić pętlę while, która śpi przez 60 sekund
To daje tę samą moc co 60 sekund
źródło