Как узнать, что за программа слушает порт?

Ответ: с помощью программы lsof.

Например:

$ sudo lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
apache2 17176 www-data 5u IPv6 6181425 TCP *:www (LISTEN)
apache2 17945 www-data 5u IPv6 6181425 TCP *:www (LISTEN)
apache2 24898 root 5u IPv6 6181425 TCP *:www (LISTEN)
apache2 24947 www-data 5u IPv6 6181425 TCP *:www (LISTEN)
apache2 24952 www-data 5u IPv6 6181425 TCP *:www (LISTEN)
apache2 25715 www-data 5u IPv6 6181425 TCP *:www (LISTEN)
apache2 26421 www-data 5u IPv6 6181425 TCP *:www (LISTEN)
apache2 29851 www-data 5u IPv6 6181425 TCP *:www (LISTEN)
apache2 30981 www-data 5u IPv6 6181425 TCP *:www (LISTEN)
apache2 31104 www-data 5u IPv6 6181425 TCP *:www (LISTEN)
apache2 31962 www-data 5u IPv6 6181425 TCP *:www (LISTEN)


$ sudo lsof -i :21
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
vsftpd 3800 root 3u IPv4 12036 TCP *:ftp (LISTEN)

Tags:

Friday, November 21st, 2008 Uncategorized

4 Comments to Как узнать, что за программа слушает порт?

  1. # netstat -nap

  2. Minor on November 21st, 2008
  3. Для решения задачи “выяснить, что за программа слушает порт” lsof лучше, чем netstat:

    a) так как выдает только необходимый минимум информации
    б) прощее запускается, т.е. быстрее набрать и легче запомнить


    $ sudo netstat -nap |grep 22
    tcp6 0 0 :::22 :::* LISTEN 3486/sshd
    unix 2 [ ACC ] STREAM LISTENING 9033822 24937/ssh-agent /tmp/ssh-wIXrL24883/agent.24883
    unix 27 [ ] DGRAM 8221 2903/syslogd /dev/log
    unix 2 [ ACC ] STREAM LISTENING 9033895 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 2 [ ACC ] STREAM LISTENING 11122 3451/master public/flush
    unix 2 [ ACC ] STREAM LISTENING 3229546 10490/dirmngr /var/run/dirmngr/socket
    unix 3 [ ] STREAM CONNECTED 10055122 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9436973 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9034551 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9034190 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9034170 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9034154 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9034128 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9034099 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9034054 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9034025 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9034015 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9033998 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9033929 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    unix 3 [ ] STREAM CONNECTED 9033911 24974/dcopserver [k /tmp/.ICE-unix/dcop24974-1227155528
    $ sudo lsof -i :22
    COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
    sshd 3486 root 3u IPv6 11317 TCP *:ssh (LISTEN)

  4. bessarabov on November 21st, 2008
  5. Я не поклонник холиваров. ;-)
    Просто предложил еще один вариант решения задачи.
    P.S.: Можно так попробовать: $ sudo netstat -nap |grep :22

  6. Minor on November 22nd, 2008
  7. Спасибо =) Про двоеточие в грепе я не сообразил. Действительно вывод практически одинаковый:

    $ sudo netstat -nap |grep :22
    tcp6 0 0 :::22 :::* LISTEN 3486/sshd
    $ sudo lsof -i :22
    COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
    sshd 3486 root 3u IPv6 11317 TCP *:ssh (LISTEN)

  8. bessarabov on November 22nd, 2008