Как использовать netstat в GNU / Linux
- Категория: Linux
Netstat - очень мощная утилита, которая перечисляет все TCP- и UDP-соединения, а также соединения сокетов unix, которые в настоящее время прослушивают соединения, а также подключены в данный момент. Хотя многим домашним пользователям не обязательно беспокоиться об этом, онлайн-геймерам или всем, кто намеревается разместить какой-либо сервер в будущем, наверняка в какой-то момент придется иметь дело с портами.
Netstat также полезен для обеспечения безопасности и конфиденциальности, например, чтобы узнать, какие программы «общаются» с Интернетом.
Использование netstat может быть чрезвычайно простым процессом или может оказаться очень сложным и тяжелым, в зависимости от использования; Итак, сегодня мы рассмотрим некоторые из наиболее распространенных применений Netstat.
Как и обещал (в моей статье ' Как мне найти информацию о моей сети в Linux ? ') Я познакомлю вас с командой netstat. Эта команда - очень полезный инструмент для обнаружения сетевой информации, такой как таблицы маршрутизации, сетевые соединения, статистика интерфейса, маскарадные соединения и многоадресное членство. Но его не так просто использовать, как некоторые другие инструменты «обнаружения» (например, ifconfig). С netstat вам действительно нужно знать, что вы ищете и как это найти. Эта статья поможет вам понять именно это.
Монтаж?
К счастью, в вашем дистрибутиве должен быть NetStat команда предустановлена. Чтобы проверить это, откройте окно терминала (в любом случае вы будете использовать netstat) и введите команду какой netstat , Эта команда должна вернуть что-то вроде / Бен / NetStat , Это сообщит вам, что инструмент установлен и где находится исполняемый файл.
Основы Netstat
Основная команда netstat выглядит так:
netstat ОПЦИИ АРГУМЕНТА
Где АРГУМЕНТ - это тип семейства адресов, о котором вы хотите получить информацию, а ОПЦИИ - это необязательные параметры, которые будут указывать тип возвращаемой информации.
Поскольку netstat предлагает такое разнообразие опций, было бы лучше, если бы я сначала перечислил некоторые из наиболее полезных опций.
- в : Показывает состояние всех сокетов и записей таблицы маршрутизации.
- с : Отображение информации постоянно.
- d : Показать состояние всех интерфейсов, использующих DHCP.
- является : Показать расширенную информацию.
- грамм : Показать информацию о членстве в группе многоадресной рассылки для IPv4 и IPv6.
- я : Показать таблицу всех сетевых интерфейсов.
- L : Ограничить статистику определенным интерфейсом.
- M : Показать таблицы многоадресной маршрутизации.
- N : Отображение сетевых адресов в виде чисел вместо символов по умолчанию.
- п : Показать таблицы разрешения адресов.
- п : Ограничить статистику определенным протоколом.
- р : Показать все таблицы маршрутизации.
- T : Показать TCP-соединения.
- U : Показать UDP-соединения.
- v : Использовать подробный режим для вывода.
Итак, давайте посмотрим, как их можно использовать вместе.
NetStat
Сама по себе (без параметров) эта команда распечатывает общую статистику хоста, к которому вы в данный момент подключены.
netstat -an
Эта команда отобразит все подключения к хосту, включая адреса и порты источника и назначения, и отобразит их в виде чисел.
netstat -rn
Эта команда отобразит таблицу маршрутизации для хоста в числовой форме.
netstat -r
Эта команда отобразит вашу таблицу маршрутизации для вашего хоста.
netstat -natp
Эта команда отобразит активные TCP-соединения в числовой форме.
netstat -t --listening
Это покажет вам все TCP-порты, которые прослушивает ваш хост.
netstat - статистика
Эта команда отобразит различную статистику для интерфейсов вашего хоста. Обратите внимание, что эта команда отобразит МНОГО статистики.
Как видите, эта команда отобразит довольно много информации. Вдобавок к этому вам может потребоваться пропустить эту команду через команду less, чтобы ее было легче увидеть. Эта полная команда будет выглядеть как netstat --statistics | Меньше. Использование этого способа позволит вам использовать клавиши со стрелками для прокрутки вверх и вниз по выходу.
Советы по использованию Netstat
Один из самых простых и распространенных способов использования netstat - это проверить, какие порты прослушивают
- netstat -l
Что дает что-то вроде этого в моей недавно установленной системе Antergos
Или, если вы хотите немного сфокусировать свой поиск, вы можете добавить еще одну опцию для специальной сортировки для разных типов подключений.
- netstat -lt # для TCP
- netstat -lu # для UDP
- netstat -lx # для Unix
Или вы можете пойти на противоположный конец спектра и перечислить все подключения
- netstat -a
Если хотите, другой вариант, который может быть полезно иметь в виду, - это использование параметра «n». Например, при использовании netstat -n или netstat -ltn все имена хостов больше не будут пытаться разрешить, и будут отображаться только IP-адреса, как в примере ниже.
Как видите, имя localhost было преобразовано в свое числовое значение после использования параметра «n».
Другой способ использования netstat - netstat -ie, «i» для интерфейсов, и «e» для «расширенного», что поможет нам получить более удобочитаемый результат.
netstat -ie # Это покажет нам список сетевых интерфейсов и информацию о каждом устройстве.
Дополнительные советы по Netstat
Что мы хотим сделать, так это указать netstat, чтобы он выдал нам вывод для конкретных приложений, которые прослушивают TCP-соединения. Для этого выдаем команду:
- netstat --tcp --listening --programs
Результат этой команды будет выглядеть примерно так:
Proto Recv-Q Send-Q Локальный адрес Внешний адрес Stat PID / Program
tcp 0 0 *: ssh *: * СЛУШАТЬ 25469 / sshd
tcp 0 0 *: httpd *: * СЛУШАТЬ 26754 / httpd
tcp 0 0 localhost: ipp *: * СЛУШАТЬ -
Теперь вы действительно можете увидеть некоторую полезную информацию. В приведенном выше выводе вы можете видеть, что и sshd, и httpd прослушивают входящие соединения. Вышеупомянутое - это всего лишь фрагмент того, как может выглядеть результат. Что очень удобно в этой команде, так это то, что она покажет вам, есть ли команда или локальный адрес, прослушивающий входящие соединения, которые не должны прослушиваться. Если вы найдете приложение, которое не должно слушать, закройте его на всякий случай.
маршрут
Netstat может быстро распечатать таблицу маршрутизации ядра вашей машины с помощью команды:
netstat -r
Результат этой команды будет выглядеть так:
Таблица IP-маршрутизации ядра
Шлюз назначения Genmask Флаги Окно MSS irtt Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
по умолчанию 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Статистика
Это один из самых удобных инструментов netstat. С его помощью вы можете точно узнать статику для каждого протокола. Базовая структура команды:
netstat - статистика
который даст вам гораздо больше информации, чем вы хотите. Скажем, вы хотите видеть статистику только по протоколу TCP. Для этого вы можете выполнить команду:
netstat -t --statistics
Выходные данные вышеуказанной команды будут включать такую информацию, как:
Tcp:
4343 активных подключения открытых
8 отверстий для пассивного подключения
5 неудачных попыток подключения
Получено 178 сбросов соединения
6 подключений установлено
Получено 59075 сегментов
60033 сегмента отправлено
76 сегментов ретранслируются
Получено 0 неверных сегментов.
303 сброса отправлено
Или вы также можете получить информацию о UDP с помощью команды:
netstat -u --statistics
Что даст вам аналогичный результат для протокола UDP.
Проявите творческий подход
Что, если вы хотите увидеть все уникальные IP-адреса, подключенные к серверу? Вы можете сделать это с помощью netstat (и некоторых других инструментов) следующим образом:
netstat -nat | awk '{print $ 5}' | вырезать -d: -f1 | sed -e '/ ^ $ / d | уник
Результат выполнения вышеуказанной команды будет зависеть от того, сколько трафика получает ваш компьютер / сервер. Но он будет включать все уникальные IP-адреса, пытающиеся подключиться к вашему серверу.
А как насчет проверки, не атакован ли ваш сервер DOS? Вы можете сделать это с помощью netstat следующим образом:
netstat -anp | grep 'tcp | udp' | awk '{print $ 5}' | вырезать -d: -f1 | сортировать | uniq -c | sort -n
Приведенная выше команда выведет список IP-адресов, запрашивающих наибольшее количество подключений к вашему серверу. Если вы видите число, которое намного выше, чем должно быть, вы, скорее всего, подверглись атаке отказа в обслуживании.
Последние мысли
Netstat - один из тех инструментов, о которых вы даже не подумаете, пока вдруг не захотите; и всегда хорошо знать, как его использовать, если возникнет необходимость хотя бы на каком-то базовом уровне. Для получения дополнительной информации о том, как использовать команду netstat и ее параметры, просмотрите страницы руководства, набрав человек netstat ,
Теперь ваша очередь: Какую утилиту вы предпочитаете для проверки сетевой информации и почему? Дайте нам знать об этом в комментариях!
Статьи по Теме
- Как мне найти информацию о моей сети - в Linux?
- Основы устранения неполадок в сети: команда Ipconfig
- Настройка внешнего интерфейса CSF Firewall для IPTables
- Некоторые полезные, но непонятные инструменты администратора Linux
- Устранение проблем с сетью с помощью Gnome's Nettools