Как определить открытые порты в Linux

Просмотреть открытые порты можно двумя способами. Менее надёжный способ — опросить сетевой стек с помощью команды netstat -an или lsof -i. Этот способ не очень надёжен, так как эти программы не подключаются к компьютеру по сети, а просто определяют, что происходит в системе. По этой причине, эти приложения часто подменяются нападающими. Таким способом взломщики пытаются скрыть свои следы, если они незаконно открыли порты.

Другим более надёжным способом проверки открытых портов является использование сканера портов, например nmap.

Следующая команда, запущенная с консоли, определяет, какие порты ждут TCP-соединений из сети: nmap -sT -O localhost

Эта команда выводит примерно следующие результаты:
Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2004-09-24 13:49 EDT
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1653 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
113/tcp open auth
631/tcp open ipp
834/tcp open unknown
2601/tcp open zebra
32774/tcp open sometimes-rpc11
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.5.25 - 2.6.3 or Gentoo 1.2 Linux 2.4.19 rc1-rc7)
Uptime 12.857 days (since Sat Sep 11 17:16:20 2004)

Nmap run completed -- 1 IP address (1 host up) scanned in 5,190 seconds

Здесь видно, что работает portmap, так как запущена служба sunrpc. Однако есть и некая таинственная служба, открывшая порт 834. Чтобы проверить, не связан ли этот порт с какой-либо известной службой, введите: cat /etc/services | grep 834

Эта команда не возвращает результата. Это означает, что хотя порт находится в зарезервированном диапазоне (от 0 до 1023) и для его открытия нужны права root, он не связан ни с одной известной службой.

Затем проверьте, что о нём сообщит команда netstat или lsof. Чтобы проверить порт 834 с помощью netstat, выполните следующую команду: netstat -anp | grep 834

Команда возвращает следующий результат: tcp 0 0 0.0.0.0:834 0.0.0.0:* LISTEN 653/ypbind

То, что команда netstat показала этот порт, успокаивает, так как злоумышленник, открывший порт на взломанном компьютере, скорее всего, не захочет, чтобы эта команда его вывела. Кроме этого, параметр [p] показывает код процесса (PID) службы, открывшей порт. В данном случае открытый порт принадлежит RPC-службе ypbind (NIS), работающей совместно со службой portmap.

Команда lsof показывает похожие сведения, так как она также может связать открытые порты со службами: lsof -i | grep 834

Ниже приведена значимая часть результатов команды: ypbind 653 0 7u IPv4 1319 TCP *:834 (LISTEN)
ypbind 655 0 7u IPv4 1319 TCP *:834 (LISTEN)
ypbind 656 0 7u IPv4 1319 TCP *:834 (LISTEN)
ypbind 657 0 7u IPv4 1319 TCP *:834 (LISTEN)

Эти инструменты позволяют узнать о состоянии работающих на компьютере служб многое. Они очень гибки и могут предоставить массу информации о сетевых службах и их конфигурации. Поэтому очень рекомендуется обратиться к страницам man, посвящённым lsof, netstat, nmap и services.

Исчтоник: Red Hat Enterprise Linux 4: Руководство по безопасности

1 comment so far:

Анонимный says: класс) спасибо автору!!!

класс) спасибо автору!!!

Отправить комментарий

  • HTML-теги запрещены
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

Image CAPTCHA