Статистика открытых портов netstat
Dec. 3rd, 2012 10:43 amnetstat -ltupnСписок подключенных хостов
netstat -lantp | grep ESTABLISHED |awk '{print $5}' | awk -F: '{print $1}' | sort -u
http://proft.me/2011/08/9/primery-ispolzovaniya-netstat-ss-netcat/
Все команды netstat, ss, netcat относится к сетевым утилитам и доступны по-умолчанию в большинстве linux-дистрибутивах.
netstat
Команда netstat умеет показывать сетевые соединения (входящие/исходящие), таблицу маршрутизации, статистику по сетевым интерфейсам и т.д.
Список всех открытых портов (TCP)
netstat -atСписок всех открытых портов (UDP)
netstat -auСписок только прослушиваемых портов (TCP)
netstat -lt
Статистика по всем открытым портамnetstat -sПодробное отображение списка с открытыми портами — добавлен PID и имя процессов
netstat -pОбъединим все ключи в полезную команду для просмотра открытых TCP/UDP портов с именами процессов (может понадобиться root-доступ)
netstat -ltupnСписок подключенных хостов
netstat -lantp | grep ESTABLISHED |awk '{print $5}' | awk -F: '{print $1}' | sort -uss
Утилита ss позволяет просматривать информацию об используемых сокетах в системе. Эта команда обладает схожим функционалом к netstat, но есть и уникальные возможности. Например можно фильтровать вывод по установленным соединениям с определенным портом.
Список процессов, использующие соединения в данный момент
ss -pСписок сокетов в режиме прослушивания
ss -lПример фильтра — список всех соединений к порту 80
ss -o state established '( dport = :www or sport = :www )'lsof
Утилита lsof умеет отображать процессы, которые работают с определенным файлом или сокетом.
Список всех сетевых соединений
lsof -iСписок процессов, работающих с портом 80
lsof -i :80
netcatУтилита netcat позволяет передавать/принимать данные через TCP/UDP соединения.
Шаблон вызова утилиты
nc host portОткроем прием (ключ -l) данных на порте 1234 с подробным выводом информации (ключ -v) и продолжением работы после разрыва соединения (ключ -k), по-умолчанию nc разрывает соединение после первого дисконекта.
nc -lvk 1234Подключаемся к открытому порту и отправим import antigravity
nc 127.0.0.1 1234 import antigravityПример более полезного использования nc — передача файла. На принимающей стороне
nc -l 1234 > fileНа отправляющей стороне
nc localhost 1234 < fileИли можно отдавать файл любому подключившемуся. На передающей стороне
nc -l 1234 < fileНа принимающей стороне
nc localhost 1234 > fileПример открытия shell’а на определенном порте (источник). На стороне, где нужно открыть шел
mkfifo /tmp/pipe; sh /tmp/pipe | nc -l 1234 > /tmp/pipeЕще один полезный пример с netcat — запуск процесса, с возможностью отслеживания его работы через сеть
watch w | nc localhost 1234
http://linux.cpms.ru/?p=5448