Вопрос: Как я могу перечислить открытые порты в Debian?


Какова команда отображения списка открытых портов на сервере Debian?

Я пытался netstat -a | egrep 'Proto|LISTEN' но я хотел бы что-то более конкретное, что фактически перечисляет номер порта.


49
2018-02-06 18:01


Источник




Ответы:


 netstat -pln

-l будет отображать прослушивающие порты, -p также покажет процесс, -n будет отображать номера портов вместо имен. Добавить -t показывать только порты TCP.


78
2018-02-06 18:09



Для -p для правильной работы вам нужно запустить это как root, поэтому sudo netstat -tpln, иначе столбец процесса не будет особенно полезен, если вы не являетесь пользователем, чей процесс прослушивает данный порт. - cjc


lsof -i -P

Проверьте страницу руководства для lsof поскольку нет недостатка в вариантах. -P перечисляет номер порта, а не имя, взятое из /etc/services Однако запустите его как root, это предоставит вам список всех активных сетевых подключений и их статус (прослушивание, создание и т. Д.).


14
2018-02-06 18:34





Что почти все хотят (TCP и UDP) netstat -tunlp,

Я использую его каждый день, может быть, каждый час. «Lsof» взлома более портативен (работает и на Solaris), но на Debian это не необходимый пакет, вам нужно его установить.


8
2018-02-07 23:04



Да, и запустите его через sudo, - Martijn Heemels
Мой друг научил меня помнить эту команду с именем цветка netstat -tulpen Флаг e дает дополнительную информацию. - Deele


Я большой поклонник netstat -ntlp а также lsof -i, оба уже упомянуты.

Для меня новая (эр) команда сс,

Вызов выглядит так:

ss -l

Хорошо иметь опции с точки зрения команд и флагов.


8
2018-04-26 20:24



варианты особенно хороши, так как контейнер для докеров mongo (и, предположительно, многие другие) имел ss, но не netstat или lsof - Foon
Я начал использовать это как вопрос для интервью. Вероятно, спросил 40 разных людей. До сих пор никто не упомянул о нем. Я спрашиваю его, как OP, тогда, если они отвечают, я говорю: «Хорошо, я забираю X, теперь как вы можете это сделать». Пока не закончится идея. - dmourati


Ты можешь сделать:

netstat -an | egrep 'Proto|LISTEN'

или просто:

netstat -anl

который даст вам все прослушивающие сокеты в системе.


6
2018-02-06 18:09



Это было бы лучшим решением (где «лучше» определяется как «работает в самом широком диапазоне систем» (BSD, Linux, AIX, Solaris, я считаю, HP-UX)) - voretaq7


В TechRepulic есть достойная статья, которую вы можете найти Вот, Он имеет некоторые аналогичные команды, перечисленные выше, но также несколько вариантов. Я также настоятельно рекомендую использовать nmap для сканирования портов на компьютере, поэтому вы можете видеть с внешней точки зрения, какие порты открыты и прослушиваются.


0
2018-02-06 18:07



Не могли бы вы рассказать мне, почему это было проголосовано? Поскольку я просто предоставил ссылку на множество решений выше, которые были одобрены вместе с другой перспективой выполнения внешнего сканирования. Благодарю. - Eric
Я не делал downvote, но на serverfault, как и большинство стековых обменов, мы обычно ожидаем, что вы ответите здесь, а не только ссылку на другое место. Связи уходят со временем, но мы хотим, чтобы контент на SF все еще был ценным, когда ссылки умирают. - Zoredache
Единственная строка кода, ссылка которой приведена в этой статье sudo nmap -T4 -A -v 192.168.1.1/24 все остальное - сделайте это - сделайте это без каких-либо подробностей ... Это похоже на чтение задней обложки книги - много слов без мяса. - KingsInnerSoul


Слушающие порты не совпадают с портами, открытыми снаружи. Вам нужно учитывать брандмауэр. Если вы попробуете такую ​​программу, как nmap с другого компьютера, тогда вы сможете увидеть открытые порты, не заблокированные брандмауэром.


0
2017-08-17 12:53





Вместо этого я предпочитаю использовать:

netstat -antp 
lsof -i 
netstat -lptu
netstat -tulpn

0
2017-07-23 13:00