Новость из категории: Информация

Сеть: устранение неполадок | Использование lsof

Содержание:
1. Введение;
2. Использование netcat;
3. Использование lsof (Вы читаете данный раздел);
4. Использование netstat;
5. Продвинутые техники;
6. Обработка вывода.
Сеть: устранение неполадок | Использование lsof

Два недостатка lsof — то, что вам необходим терминальный доступ к тому компьютеру, на котором вы хотите запустить lsof, и то, что для ее запуска необходимы привилегии root. Скорее всего, вы не будете запускать lsof без параметров, потому что ее вывод будет труд но про честь:
$ lsof | wc 
4931 44630 709518

Если вы просто наберете lsof как обычный пользователь Linux, появится вереница строчек с сообщением “Permission denied (В разрешении отказано)”, которое дает вам понять, что процесс хотя и видимый (в том числе по команде ps), но вам не хватает прав для полного его прочтения:
mysqld 31393 31407 mysql rtd unknown 
/proc/31393/task/31407/root (readlink: Permission denied)

Параметр -i означает, что нужно вывести информацию о сети. Поэтому если пользователь root запустит команду lsof -i, он получит информацию обо всех сетевых файлах.

Вывод lsof представляет собой набор столбцов. Столбец COMMAND содержит первые девять символов названия команды Unix, связанной с процессом. В столбце PID отображается идентификатор процесса, а в столбце USER — пользователь, являющийся владельцем процесса. В столбце TID отображается идентификатор задачи; пустое поле TID означает, что это процесс. Столбец FD содержит дескриптор файла. Он может принимать значения cwd, txt, mem или mmap. В столбце TYPE отображается тип файла: обычный файл, каталог, сокет и т. д. Столбец DEVICE содержит идентификаторы устройств, разделенные запятыми. Значение столбца SIZE/OFF — размер файла или смещения файла в байтах. В столбце NODE содержится номер узла Unix. Наконец, в столбце NAME отображается имя точки монтирования и название файло вой системы, в которой расположен файл, или интернет-адрес.

Возможные значения подклю чения TCP — LISTEN , CLOSED , ESTABLISHED, SYNSENT, SYNRECEIVED, CLOSEWAIT, LASTACK, FINWAIT1, FINWAIT2, CLOSING и TIMEWAIT . Чтобы найти, какой исполняемый файл слушает заданный порт по TCP, выполните команду:
$ sudo lsof -nP -iTCP -sTCP:LISTEN


Сеть: устранение неполадок | Использование lsof

Вывод команды lsof показывает процессы, которые слушают все открытые порты TCP, а также пользователей, являющихся владельцем каждого процесса

На скриншоте (стр. выше) показан вывод предыдущей команды, где содержатся все открытые порты. Как вы также видите из вывода команды, отображаются как IPv4-, так и IPv6-подключения. Если вы хотите вывести только подключения IPv4, добавьте параметр-i 4.

Для отображения списка процессов, которые слушают 80-й порт по TCP или UDP, выполните команду lsof -i:80. Если ни один из процессов не слушает порт, то сервис, к которому вы пытаетесь обратиться, скорее всего не работает, и его надо перезапустить.

Сеть: устранение неполадок | Использование lsof

Команда lsof -u mysql показывает все открытые файлы, владельцем которых является пользователь mysql. Если вы хотите вывести список всех открытых файлов, владельцем которых не является этот пользователь, выполните команду lsof -u ^mysql с правами root. Эта версия команды lsof может помочь решить сетевые проблемы, имеющие отношение к правам доступа к файлам Linux.

Для поиска всех слушающих подключений (LISTEN), владельцем которых является mysql, можно выполнить следующую команду с правами root:
# lsof -u mysql | grep -i LISTEN

Она поможет понять, принимает ли тот или иной сервис подключения через Интернет или только от localhost. Следующая команда находит все сетевые подключения, которые исходят или поступают на сайт www.linuxformat.com с IP-адресом 80.244.178.150:
# lsof -i @80.244.178.150

Утилита lsof особенно удобна для проверки того, что процесс сервиса запущен и может принимать новые подключения. После этого можно попробовать подключиться и произвести обмен данными с помощью netcat.

Сеть: устранение неполадок | Использование lsof

Утилиты, способной в одиночку решить все возможные проблемы, не существует. Поэтому старайтесь изучить как можно больше утилит. Достоинство утилит командной строки в их умении работать по удаленному подключению, что иногда очень удобно. Еще одна очень полезная утилита — tshark (http://bit.ly/tshark), у нее также есть графическая версия Wireshark (www.wireshark. org).


Не знаете с какой стороны подступить к представленным выше утилитам? Тогда переподготовка на учителя информатики и икт - это именно то, что вам нужно. Дело в том, что установка утилит в Linux - основа основ, и если вы с ней незнакомы, то вы просто не сможете обучить студентов основным принципам программирования.

Рейтинг статьи

Оценка
5/5
голосов: 1
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх