Объедините команду netstat и geoiplookup

как я могу объединить следующую команду:

netstat -atun | awk '{print $ 5}' | cut-d: f1 | -e sed '/ ^ $ / d' | sort | uniq-c | sort-n 

и "geoiplookup", перечисляющий что-то вроде "Con. Number, IP, Country"

Я использую эту библиотеку: http://kbeezie.com/geoiplookup-command-line/

Спасибо за помощь! с уважением


person Capelas    schedule 07.09.2014    source источник
comment
Я думаю, что ваше ключевое слово грубой силы является причиной того, что это отрицательный вопрос. Вы просто пытаетесь правильно определить, из каких стран ваш трафик?   -  person AbsoluteƵERØ    schedule 08.09.2014


Ответы (1)


Вы должны быть в состоянии получить это с чем-то вроде этого:

netstat -an -f inet | awk '{print $ 5}' | sed -e '/^\*\.\*$/d' | awk 'sub(/\.[0-9]+$/,"")' | uniq | sort -n | xargs -n 1 geoiplookup { } | sort | uniq -c | sort -n | sed -r 's/ GeoIP Country Edition://g'

netstat -an -f inet — показывает все структуры данных, связанные с сетью, с сетевыми адресами в виде чисел и извлекает семейство адресов inet.

awk '{print $ 5}' - принимает этот ввод и представляет только IP-адрес с портом из предыдущего.

sed -e '/^\*\.\*$/d' — удаляет все строки .

awk 'sub(/\.[0-9]+$/,"")' - удаляет номер порта, оставляя только IP-адрес

uniq - избавляется от дубликатов ips

sort -n - выполняет числовую сортировку (не обязательно)

xargs -n 1 geoiplookup { } - принимает первый ввод и выполняет поиск страны

sort - сортировка по названию страны

uniq -c - группирует названия стран по количеству

sort -n - упорядочивает страны по количеству

sed -r 's/ GeoIP Country Edition://g' — Удаляет фразу «GeoIP Country Edition:»

Это не имеет ничего общего с грубой силой, кроме как сказать вам, из какой страны идут соединения.

person AbsoluteƵERØ    schedule 07.09.2014
comment
Команда у меня работает некорректно. Вы тестировали? Спасибо за поддержку! - person Capelas; 08.09.2014
comment
Это лучшая версия, но укажите ip в новой строке: netstat -atun | awk '$5 ~ /^[1-9]/ { print $5}' | вырезать -d: -f1 | sed -e '/^$/d' | sed -e '/127.0.0.1/d' | сортировать | уникальный -c | сортировать -n | awk '{print Ligacoes: $1 IP:$2 - Pais:; $pais=система(геоиплокап $2)}' - person Capelas; 08.09.2014
comment
Я протестировал его на MacOS, но не загружал его ни в один из моих других ящиков. Да, мне было интересно, почему вы не сохранили IP? - person AbsoluteƵERØ; 09.09.2014