web-dev-qa-db-fra.com

Comment vérifier si un port est ouvert pour un système distant (Ubuntu)

Est-il possible de vérifier que si 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.

54
user53864

utilisez un 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 échec 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
76
natxo asenjo

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

10
Joshua

C'est simple comme:

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

-w3 est le délai d'attente

9
Gilles Quenot

De cela réponse StackOverflow :

Vous semblez rechercher un analyseur de ports 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
5
Mohamed Brahimi

Pour un script, j'utilise quelque chose comme ceci:

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

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

5
yardena

Telnet ne fonctionnera que pour les services TCP, donc si vous essayez de voir si votre serveur DHCP (UDP/68) fonctionne sur une machine distante, cela ne fonctionnera pas. De même, nmap par défaut est analyse uniquement TCP ports.

Pour les ports UDP, utilisez:

nmap -sU example.com -p 68

2
user62491

nmap example.com -p 22

2
Sudheer

J'ai utilisé la commande suivante. Elle 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 d'abord quels sont les ports ouverts/écoutez le mode en utilisant la commande suivante.

netstat -ntlp | grep LISTEN

après ça

nmap -A localhost -p portNumber

et fermez n'importe quel port par exemple si mysql fonctionne sur 3306, vous pouvez l'arrêter,

Sudo service mysql stop

et alors,

nmap -A localhost -p 3306

J'espère que cela vous sera utile.

1
Harish Kumar