Как я могу проверить, открыт ли порт 5060 в centos? Как я могу проверить, есть ли у моего Linux настоящий реальный IP-адрес, и я не установил правила блокировки iptables или есть ли какие-либо инструменты, которые я могу запустить в моем Linux, чтобы IP-адрес или шлюз моего интернет-провайдера мог прослушивать или отправлять через порт 5060?
nmap -v -sV localhost -p 5060
скажу вам правду. Вы также можете использовать: netstat -apnt | grep 5060
или ss -aln
lsof -i:5060
не только покажет, открыт ли он, но и что он на самом деле делает.
Пример:
root@root.com# lsof -i:5060
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
asterisk 1146 root 18u IPv4 0xffffff000a053c60 0t0 UDP *:sip
asterisk 1146 root 18u IPv4 0xffffff000a053c60 0t0 UDP *:sip
asterisk 1146 root 18u IPv4 0xffffff000a053c60 0t0 UDP *:sip
Если вы специально проверяете звездочку, asterisk -r, а затем sip show каналы покажут, прослушивает ли он или делает что-нибудь с подключенными элементами.
Если вы думаете, что iptables портит ваши результаты, выключите его для первоначального теста. service iptables stop
Другая команда nmap, получившая высокую оценку, неверна, так как это сканирование TCP. Используйте вместо этого:
sudo nmap -v -sU 12.34.56.78 -p 5060
Поскольку вы изначально разместили здесь ^^
Nmap - отличный инструмент для сканирования портов, однако, поскольку у вас есть доступ к каждой конечной точке, я бы предпочел использовать netcat для устранения неполадок.
Согласно Википедия, SIP прослушивает 5060/5061 (UDP или TCP). Чтобы проверить, какой порт прослушивает, вы можете использовать одну из этих команд на SIP-сервере:
Как только вы узнаете, какой порт прослушивает, вы можете использовать Netcat (ncat, socat, iperf), чтобы проверить, блокирует ли брандмауэр соединение / порт.
-u для UDP, по умолчанию TCP
-l - для прослушивания (серверный режим), по умолчанию - клиентский режим
Если у вас есть другой компьютер, работающий в той же сети, попробуйте:
telnet <centos-machine-ip> 5060
Если вы можете открыть соединение, значит, порт открыт. Вы также можете получить себе копию протокола NMAP и просканировать порт на своей машине centos. Если порты закрыты, проверьте system-config-securitylevel и убедитесь, что ваш брандмауэр разрешает соединения.
Я думаю, вы также спрашиваете, как перенаправить порт с вашего интернет-маршрутизатора на вашу машину centos (для размещения веб-сайта из вашего дома или чего-то еще). Если это так, вам нужно выяснить, как получить доступ к вашему маршрутизатору, а затем перенаправить порт с маршрутизатора на вашу машину centos.
Если это не сработает, позвоните своему интернет-провайдеру и спросите, как это сделать. Однако большинство интернет-провайдеров блокируют доступ к общим портам (большинству интернет-провайдеров не нравятся люди, запускающие веб-серверы или почтовые серверы из своего дома).
Если вы хотите только увидеть, привязан ли сокет, вы можете использовать netstat или lsof, чтобы убедиться, что процесс владеет прослушивающими сокетами UDP и TCP.
Я также предлагаю использовать инструмент для тестирования SIP, например сипсак для проверки функциональности более высокого уровня.
Зайфер: SIP - это не только UDP.
из RFC 3162, стр. 141:
All SIP elements MUST implement UDP and TCP. SIP elements MAY
implement other protocols.
Making TCP mandatory for the UA is a substantial change from RFC
2543. It has arisen out of the need to handle larger messages,
which MUST use TCP, as discussed below. Thus, even if an element
never sends large messages, it may receive one and needs to be
able to handle them.
Или вы можете проверить это онлайн на этом сайте.
Просто введите IP-адрес и номер порта.
Вы можете проверить, открыт ли ваш порт здесь или нет, а также проверить свой IP.
netstat -nlp
Покажет вам открытые порты и приложения, которые их используют.
Возможно, немного высокоуровневый, но есть онлайн-инструменты для проверить доступность порта.