Я открыл порт 443 через iptables
:
pkts bytes target prot opt in out source destination
45 2428 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
6 1009 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
141 10788 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
7 1140 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
6 360 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
И он слушает как netstat -a
указывает:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:6311 *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 gauss:ssh ommited ESTABLISHED
tcp 0 0 gauss:ssh ommited ESTABLISHED
tcp6 0 0 localhost:8005 [::]:* LISTEN
tcp6 0 0 [::]:8009 [::]:* LISTEN
tcp6 0 0 [::]:www [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 [::]:https [::]:* LISTEN
udp 0 0 *:mdns *:*
udp 0 0 *:52703 *:*
udp6 0 0 [::]:42168 [::]:*
udp6 0 0 [::]:mdns [::]:*
Однако я не могу пропинговать порт 443:
PING 443 (0.0.1.187) 56(124) bytes of data.
^C
--- 443 ping statistics ---
7 packets transmitted, 0 received, 100% packet loss, time 6006ms
В чем дело?
Утилита ping делает то, что должна, запускает интерфейс ping с помощью ICMP, вы не можете просто пропинговать любой порт, который вам нравится. Я уверен, что есть миллион способов сделать это, но большинство людей просто используют «IP-порт telnet», то есть «telnet 1.2.3.4 25» для проверки соединения.
Вы не можете пинговать порты. Что происходит, так это то, что 443 конвертируется в IP-адрес, и ping пытается связаться с этим адресом (0.0.1.187).
ПИНГ 443 (0.0.1.187) 56 (124) байтов данных.
Обратите внимание, что приведенный выше IP-адрес интерпретируется с числа 443 (1 x 2561 + 187 х 2560 = 443).
ICMP (из них ping
является частью) - это собственный протокол поверх IP. UDP / IP, TCP / IP и ICMP / IP. В протоколе ICMP нет портов, поэтому в командной строке нет параметра номера порта.
Существуют приложения TCP ping, которые будут выполнять аналогичные функции по TCP, и вы можете посмотреть на них. Ручной просмотр TCP-портов или служб часто выполняется с помощью telnet
или nc
(netcat).
Попробуйте использовать NMap для пингов вашего порта.
nmap -p 443 10.4.0.197
Starting Nmap 5.61TEST1 ( http://nmap.org ) at 2011-12-13 13:19 Pacific Standard Time
Nmap scan report for somecomputer (10.4.0.197)
Host is up (0.00s latency).
PORT STATE SERVICE
443/tcp closed https
Nmap done: 1 IP address (1 host up) scanned in 0.64 seconds
Вы считали, что ICMP нельзя использовать для проверки подключения к портам TCP / IP?
Используйте такой инструмент, как telnet или nmap, для проверки открытого или закрытого состояния порта. Вот пример использования Telnet для проверки подключения к VMware.. Вот некоторая информация о сканировании портов с помощью nmap.
Это совсем не способ делать это. ping отправляет пакеты эхо-запросов ICMP!
То, что вы хотите, вероятно, telnet xxxx 443
, где xxxx
имя вашего хоста (C-c для прерывания telnet, а затем exit
).
Я неправильно это читаю, или вы слушаете только порт 443 для IPv6?
Можно ли предположить, что вы пытаетесь настроить веб-сервер? Если вы пытаетесь настроить apache или какой-либо другой веб-сервер, он не прослушивает порт 443 для трафика ipv4. Либо он настроен неправильно, либо у вас не запущен демон.
Я настоятельно рекомендую вам посещать базовые классы нетворкинга (без обид). Сетевое администрирование - это высокотехнологичная работа, к которой следует отнестись серьезно.
ping генерирует пакеты эхо-запроса ICMP, команда ping не предназначена для работы на верхних сетевых уровнях.
Понятие «порты» актуально только для протоколов UDP и TCP. Порты используются стеком TCP / IP как подсказка для демультиплексирования данных IP-пакетов и их доставки в нужное приложение.
Что касается того, что вы пытаетесь сделать, я лично использую nc -v hostname port
команда.
С Уважением,
Если вы хотите проверить, открыт ли порт, вы можете использовать telnet. Как
telnet 192.168.2.22 443