Я использую эту простую команду для мониторинга соединений (для борьбы с некоторыми недавними DoS-атаками) на моем сервере Debian:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Как мне запустить его постоянно? Таким образом, он будет обновляться один раз в минуту (или, конечно, в любое время). Я попробовал посмотреть:
watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n"
Но это изменило вывод из красивого списка с числом соединений на что-то вроде этого:
1 tcp 0 10015 [LOCAL IP]
...
1 Proto Recv-Q Send-Q Local Address Foreign Address State
1 Active Internet connections (w/o servers)
Таким образом, внешний IP не отображается. Я что-то пропустил?
Вот как выглядит исходный вывод:
2 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
7 [IP ADDRESS]
16 [IP ADDRESS]
71 [IP ADDRESS]
И когда я говорю, [LOCAL IP]
я имею в виду IP моей машины.
Когда я запускаю его с -c
этим просто зависает.
Ответы:
может помочь вам, если я не понял вашу проблему. -c означает - непрерывный.
РЕДАКТИРОВАТЬ: там вы идете:
Я добавил \ до $.
источник
Просто запустите цикл, который спит в течение 60 секунд
Это даст вам один и тот же вывод каждые 60 секунд
источник