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.
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
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
C'est simple comme:
nc -zw3 domain.tld 22 && echo "opened" || echo "closed"
-w3
est le délai d'attente
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
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!
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
nmap example.com -p 22
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.