
как проверить netstats на ubuntu для определенного порта? пример
netstat -? grep: 80
но с изюминкой, так что это тоже так
он должен отображать только отдельные IP-адреса, но любые дублирующиеся IP-адреса на порту должны быть назначены рядом с IP-адресом, а затем упорядочены по количеству дубликатов.
пример:
client IP: 80.230.90.120 Port: 80 Occured: 4 times
client IP: 70.122.30.25 Port: 80 Occured: 2 times
client IP: 60.78.70.230 Port: 80 Occured: 1 times
client IP: 40.42.90.220 Port: 80 Occured: 1 times
это возможно? спасибо заранее :)
решение1
В текущем состоянии ваш вопрос неясен, является ли локальная машина или удаленная машина "клиентом". Предполагая, что вы ищете соединения с портом 80 на удаленных машинах, следующее должно дать вам то, что вы хотите. Просто убедитесь, что установлен, port=port-number-to-search
прежде чем запускать команды, или замените $port
в командах порт, по которому вы хотите фильтровать.
Простая однострочная фраза:
netstat -an | awk '{print $5}' | grep :$port | sort -n | uniq -c | sort -nr
и вывод выглядит так:
7 198.252.206.25:443 4 74.125.28.189:443 2 74.126.144.69:443 2 65.55.252.167:443 2 52.112.66.238:443
Число спереди — это количество подключений для данного IP-адреса на порту 80.
Красивая однострочная фраза:
netstat -an | awk '{print $5}' | grep :$port | sort -n | uniq -c | sort -nr | tr ':' ' ' | awk '{printf "client IP: %-15s Port: %-5s Occurred: %s time(s)\n", $2, $3, $1}'
и вывод выглядит так:
IP клиента: 198.252.206.25 Порт: 443 Произошло: 9 раз(а) IP клиента: 74.126.144.69 Порт: 443 Произошло: 2 раз(а) IP клиента: 74.125.28.189 Порт: 443 Произошло: 2 раз(а) IP клиента: 34.210.168.7 Порт: 443 Произошло: 2 раз(а) IP клиента: 216.58.217.195 Порт: 443 Произошло: 2 раз(а) IP клиента: 192.0.73.2 Порт: 443 Произошло: 2 раз(а)
Редактировать 2017-06-26
Изначально я написал свои команды так, чтобы они сортировались по IP. OP сказал, что он/она заинтересован в сортировке по частоте, поэтому я внес некоторые изменения в этом направлении. Вы можете заметить, что команда sort
используется до и после uniq
команды. Это не ошибка. Первое sort
гарантирует, что uniq
команда сможет выполнить свою работу. Второе sort — это то, что фактически выполняет сортировку по частоте.