В Windows я перехожу в командную строку и использую telnet, чтобы проверить порт. Как сделать то же самое в Unix?
Похоже, некоторые люди используют команды tcpdump port. Это мониторинг трафика в реальном времени? Спасибо.
nmap
- отличный универсальный инструмент для таких вещей и многого другого.
nmap host.domain.tld
(или nmap host
для локальной машины или nmap <ipaddr>
для проверки машины по адресу, а не по имени) отобразит список открытых портов.
nmap 192.168.23.1-254 -p 22,80,443
будет сканировать диапазон хостов по адресу, чтобы увидеть, открыты ли TCP-порты, обычно связанные с SSH, HTTP и HTTPS.
Видеть man nmap
для многих других вариантов - это кухонная раковина инструментов проверки сети.
Возможно, на данный момент у вас не установлен nmap, но он есть практически во всех стандартных репозиториях дистрибутивов. Для вариантов debian или ubuntu aptitude install nmap
чтобы установить его, или найдите его в диспетчере пакетов графического интерфейса по вашему выбору. Если он недоступен в вашей системе, получите его и дополнительную информацию от http://nmap.org/
Вы также можете просто использовать тот же telnet
клиентская техника, с которой вы уже знакомы, так как она также доступна и обычно устанавливается в одном из пакетов по умолчанию, но nmap
- это инструмент, который стоит изучить, поскольку он может быть полезен для диагностики сетевых проблем, просто для проверки того, что все в порядке и т. д. К нему также есть несколько приличных графических интерфейсов, если вы предпочитаете взаимодействовать с ним вне командной строки.
Если вы используете bash, то на страницах руководства указано, что вы можете писать в / dev / tcp / HostNameOrIP / port. Я использовал это несколько раз, и если удаленный порт открыт, то ответа нет. Если система не может подключиться к удаленному порту, то указывается причина
[kevin@box ~]$ echo -n > /dev/tcp/www.yahoo.com/80
[kevin@box ~]$ nslookup www.no-such-domain.com
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find www.no-such-domain.com: NXDOMAIN
[kevin@box ~]$ echo -n > /dev/tcp/www.no-such-domain.com/80
-bash: www.no-such-domain.com: Name or service not known
-bash: /dev/tcp/www.no-such-domain.com/80: Invalid argument
[kevin@box ~]$ echo -n > /dev/tcp/192.168.3.3/80 #no such server on my network
-bash: connect: No route to host
-bash: /dev/tcp/192.168.3.3/80: No route to host
[kevin@box ~]$ echo -n > /dev/tcp/192.168.3.1/88 #nothing listening on port 88
-bash: connect: Connection refused
-bash: /dev/tcp/192.168.3.1/88: Connection refused
[kevin@box ~]$
Ты можешь использовать telnet
на машине * nix тоже.
Чтобы проверить, доступен ли порт в Bash, вы можете использовать следующую однострочную команду:
$ </dev/tcp/example.com/80 && echo Port is open || echo Port is closed
Port is open
Чтобы проверить вручную, используйте telnet
команда (аналогично Windows).