Existe-t-il une commande que je puisse exécuter depuis bash qui me dise si un port est déjà ouvert ?
"netstat -antp | grep 80" où 80 est le numéro du port à rechercher.
Existe-t-il une commande que je puisse exécuter depuis bash qui me dise si un port est déjà ouvert ?
Utilisez "netstat" pour vérifier les ports actuellement utilisés.
netstat -antp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 xxx.xxx.xxx.xxx 0.0.0.0:\* LISTEN 16297/named
tcp 0 0 xxx.xxx.xxx.xxx:53 0.0.0.0:\* LISTEN 16297/named
tcp 0 0 xxx.xxx.xxx.xxx:53 0.0.0.0:\* LISTEN 16297/named
tcp 0 0 127.0.0.1:53 0.0.0.0:\* LISTEN 16297/named
Ceci (netstat) est la solution la plus rapide...
netstat -lnt
...mais cela vous donne plus de contrôle (au prix de la vitesse (parfois beaucoup de vitesse))...
lsof -n -i -a -u www-data
L'exemple ci-dessus par exemple vous montre tous les ports TCP ouverts et dans le LISTEN
état, ET ( -a
) appartenant à l'Apache ( www-data
) utilisateur.
Toutes les bonnes réponses.
Cependant, vous ne mentionnez pas si vous êtes connecté à l'ordinateur en question ;P
Si ce n'est pas le cas, alors nmap est votre ami.
pour commencer, essayez :
nmap -O
target
amap est également un bon choix qui tentera également de deviner le logiciel du serveur en saisissant les pages de bannières.
pour commencer, essayez :
amap
target
1-6000
Essayez
lsof -i :<port number>
Si vous obtenez des résultats, quelque chose est à l'écoute et lié, par ex.
# lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1833 nobody 3u IPv4 51091229 0t0 TCP odessa.cheney.net:http->79.173.188.214:52918 (ESTABLISHED)
nginx 1833 nobody 5u IPv4 46221856 0t0 TCP odessa.cheney.net:http->66.36.243.182:37876 (CLOSE_WAIT)
nginx 1833 nobody 9u IPv4 34733048 0t0 TCP localhost.localdomain:http (LISTEN)
nginx 1833 nobody 10u IPv4 34733049 0t0 TCP odessa.cheney.net:http (LISTEN)
nginx 1833 nobody 14u IPv4 46221857 0t0 TCP odessa.cheney.net:http->66.36.243.182:37880 (CLOSE_WAIT)
nginx 1833 nobody 15u IPv4 51091030 0t0 TCP odessa.cheney.net:http->msnbot-65-55-106-132.search.msn.com:51708 (ESTABLISHED)
nginx 11832 root 9u IPv4 34733048 0t0 TCP localhost.localdomain:http (LISTEN)
nginx 11832 root 10u IPv4 34733049 0t0 TCP odessa.cheney.net:http (LISTEN)
netstat -tlnp
Afficher t
cp ports qui sont l
istening, show n
uniquement les nombres (ne pas résoudre les noms - ce qui rend le processus plus rapide) et afficher les p
qui effectue l'écoute (le p
ne fonctionne que si vous êtes root)
netstat -ulnp
Afficher u
les ports dp qui sont l
istening, show n
uniquement les nombres (ne pas résoudre les noms - ce qui rend le processus plus rapide) et afficher les p
qui effectue l'écoute (le p
ne fonctionne que si vous êtes root)
netstat -unp
Afficher u
dp ports qui sont ouverts mais qui n'écoutent pas, montrer n
uniquement les nombres (ne pas résoudre les noms - ce qui rend le processus plus rapide) et afficher les noms de domaine. p
qui effectue l'écoute (le p
ne fonctionne que si vous êtes root)
netstat -an
Afficher a
ll ports utilisés, montrer n
uniquement les numéros - ne pas résoudre les noms
lsof -i <proto>@<host>:<port>
Par exemple
lsof -i tcp@localhost:25
pour voir si quelque chose écoute sur le port localhost 25/TCP, ou
lsof -i tcp@0.0.0.0:636
pour voir s'il y a des sockets locales ou distantes qui écoutent (locales) ou sont connectées (locales ou distantes) pour n'importe quel hôte/interface.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.