web-dev-qa-db-fra.com

Comment vérifier si un port est ouvert sur Red Hat Linux / Centos

J'ai écrit un programme supposé mettre en œuvre SLP (RFC2608) et j'ai du mal à le tester. Je ne sais pas si le port est fermé ou qu'il y a quelque chose en train de laisser tomber mes datagrammes de multidiffusion. Y a-t-il une commande que je peux courir d'un terminal RedHat pour me dire si un port est ouvert sur cette case?

J'ai vu des messages sur simplement telnet sur le port, etc ..., mais cela ne fonctionne que pour TCP ports, non? J'ai aussi lu qu'il y a des sites qui peuvent tester cela sorte de chose de l'extérieur. Mais je ne veux vraiment pas faire cela puisque je ne suis pas intéressé par une analyse de ports complète, la boîte est sur un réseau privé, et même si ce n'était pas, je ne veux pas Il faut ressembler à un incident de sécurité. Je veux simplement interroger et voir si le port 427 est ouvert.

8
Jason Thompson

Hmm. MultiCast, afin que telnet ne fonctionne pas.

Vous pouvez exécuter TCPDump, je pense, pour voir si le trafic se rend à votre serveur. Exécutez quelque chose comme celui-ci sur votre serveur:

tcpdump -i eth0 port 427 et voir si quelque chose se présente.

Si rien ne fait, il y a une sorte de bloc ailleurs.

Vérifiez votre pare-feu local avec quelque chose comme iptables -L -n Pour vous assurer que la chaîne d'entrée permet de votre trafic.

Pour diagnostiquer davantage, vous devrez peut-être commencer à exécuter des tracerout à partir de votre ordinateur portable, en spécifiant le protocole et le port (sinon, il sera par défaut à ICMP).

7
cjc

netstat localement et NMAP sur un hôte distant.

J'utilise souvent

netstat -plunt

et

netstat -ant

obtenir une photo de ce qui se passe.

1
ptman

Je suppose que par port ouvert, vous voulez dire que ce n'est pas bloqué par le pare-feu. Dans ce cas, vous pouvez exécuter la commande suivante sur la machine hôte (Incase de Redhat/Centos 7):

firewall-cmd --list-ports | grep -w <Port No.>

Dans le cas de RedHAT6/CENTOS6, vous pouvez exécuter

iptables --list-rule | grep -w <Port No.>

J'espère que ça aide..

1
Vatsal Prakash

Le meilleur moyen de mon expériences utilise nmap

nmap 10.0.0.1 -Pn -p 427 

De toute évidence, remplacez 10.0.0.1 avec IP publique si le test d'une autre machine ou avec 127.0.0.1 Si vous testez sur cette case spécifique.

va produire quelque chose comme ceci:

PORT    STATE    SERVICE
427/tcp filtered https

Nmap done: 1 IP address (1 Host up) scanned in 2.14 seconds

Options ci-dessus signifie:

-Pn: Treat all hosts as online -- skip Host discover

et

-p <port ranges>: Only scan specified ports
               Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9

Si vous n'avez pas déjà nmap:

yum install nmap

Et puisque dans ce cas est filtré, un moyen de voir s'il est filtré sur la boîte où le service devrait être, est d'essayer de vérifier de 2 ordinateurs différents.

ou exécuter nmap sur cette boîte

nmap 127.0.0.1 -Pn -p 427 

vous pouvez ajouter --reason Pour voir la raison pour laquelle est filtré

nmap 10.0.0.1 -Pn -p 427 --reason
0
Eduard Florinescu