Comment vérifier si un port est ouvert pour un système distant (ubuntu) [fermé]

53

Est-il possible de vérifier que les ports sont ouverts pour le système distant sur le serveur Ubuntu?

Je devrais pouvoir vérifier si un port (par exemple: ssh) sur ma machine est ouvert pour la machine distante.

utilisateur53864
la source

Réponses:

73

utilisez le bon vieux telnet:

[user@lappie ~]$ telnet host 22
Trying ip.adr.tld ...
Connected to host  (ip.addr.tld).
Escape character is '^]'.
SSH-2.0-OpenSSH_5.1p1 Debian-5

c'est une tentative réussie. Un non réussi devrait ressembler à ceci;

[user@lappie ~]$ telnet host 23
Trying ip.adr.tld ...
telnet: connect to address ip.adr.tld: Connection refused
telnet: Unable to connect to remote host: Connection refused

ou avec nmap

[user@lappie ~]$ nmap host

Starting Nmap 5.21 ( http://nmap.org ) at 2010-10-07 11:25 CEST
Nmap scan report for host (ip.adr.tld)
Host is up (0.0052s latency).
rDNS record for ip.adr.tld : host.domain.tld
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
3000/tcp open  ppp
5666/tcp open  nrpe

Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds
natxo asenjo
la source
Grande aide!. J'ai eu l'impression qu'il ne fait que répertorier les numéros de port pour lesquels les services s'exécutent sur l'hôte spécifié. Je l'ai vérifié en arrêtant les services et en exécutant à nouveau la commande nmap. donc il n'a pas énuméré le port que j'ai arrêté. Affiche-t-il vraiment les ports ouverts pour la machine distante?
user53864
1
@ user53864: vous devez évidemment exécuter ce test sur une machine distante.
natxo asenjo
2
Cela ne fonctionnera que pour les services TCP.
L'utilisation nmapsur une machine déclenche un rapport d'abus.
Newbee
10

Utilisez NMAP. Exemple:

nmap example.com

Vous pouvez utiliser l'adresse IP à la place du nom de domaine. Voici la documentation complète: http://nmap.org/book/man.html

Josué
la source
1
Il répertorie uniquement les ports sur lesquels les services s'exécutent sur une machine spécifiée.
user53864
Ensuite, vous l'utilisez mal.
Christoffer Hammarström
@ user53864, c'est correct. Plus spécifiquement, il listera tous les ports OPEN et décrira également les services qui les utilisent. Si vous recherchez un port spécifique, essayez simplement "nmap example.com 22", comme le dit natxo asenjo, qui analysera le port 22 (SSH) pour voir s'il est ouvert.
Josué
9

C'est simple comme:

nc -zw3 domain.tld 22 && echo "opened" || echo "closed"

-w3 est le délai d'attente

Gilles Quenot
la source
1
nc -vzw3 domain.tld 22 est plus court et pourrait être un peu plus informatif ...
g2mk
5

Pour un script, j'utilise quelque chose comme:

nmap example.com -p 22 -sV --version-all -oG - | grep -iq '22/open'

La valeur de retour vous indique si le port est ouvert!

yardena
la source
5

De cette réponse StackOverflow :

Vous semblez rechercher un scanner de port tel que nmap ou netcat, tous deux disponibles pour Windows, Linux et Mac OS X.

Par exemple, recherchez telnet sur une adresse IP connue:

  nmap -A 192.168.0.5/32 -p 23

Par exemple, recherchez les ports ouverts de 20 à 30 sur host.example.com:

  nc -z host.example.com 20-30
Mohamed Brahimi
la source
2

nmap example.com -p 22

Sudheer
la source
2

Telnet ne fonctionnera que pour les services TCP. Par conséquent, si vous essayez de voir si votre serveur DHCP (UDP / 68) fonctionne sur un ordinateur distant, cela ne fonctionnera pas. De même, par défaut, nmap analyse uniquement les ports TCP.

Pour les ports UDP, utilisez:

nmap -sU example.com -p 68


la source
1

J'ai utilisé la commande suivante .Il a donné en sortie ce que je voulais. nmap -A IPAddressOfRemoteSystem -p portNumber ex: nmap -A 192.168.1.87 -p 8080 (ou) on peut aussi vérifier les ports locaux

avant cela, vérifiez quels sont les ports en mode ouvert / écoute en utilisant la commande suivante.

netstat -ntlp | grep LISTEN

après ça

nmap -A localhost -p portNumber

et fermez tout port par exemple si mysql est en cours d'exécution sur 3306, vous pouvez l'arrêter,

sudo service mysql stop

puis,

nmap -A localhost -p 3306

J'espère que cela vous aidera.

Harish Kumar
la source