À partir d'un script bash, comment puis-je savoir rapidement si un port 445
est ouvert/écouté sur un serveur.
J'ai essayé plusieurs options, mais je veux quelque chose de rapide :
1. lsof -i :445
(Prend des secondes)
2. netstat -an |grep 445 |grep LISTEN
(Prend des secondes)
3. telnet
(il ne revient pas)
4. nmap
, netcat
ne sont pas disponibles sur le serveur
Ce serait bien de connaître une méthode qui n'énumère pas d'abord et qui n'effectue pas de recherche ensuite.
1 votes
Netcat est-il disponible ? Il a un chemin d'échec rapide IIRC. netcat.sourceforge.net
5 votes
netstat -lnt
(avec-t
et sans-a
) limitera la sortie aux seules connexions TCP en écoute. Cela peut accélérer un peu les choses. Vous pouvez ajouter-4
pour IPv4 seulement si vous n'avez pas besoin d'IPv6.0 votes
Lsof -i est un favori personnel.
15 votes
netstat -an | grep PORTNUMBER | grep -i listen
Si la sortie est vide, le port n'est pas utilisé.0 votes
Je ne sais pas pourquoi.
lsof
est lent pour vous, mais normalement c'est la meilleure des solutions que vous avez énumérées. Votrenetstat
n'est pas très fiable (vous pouvez le deviner chaque fois que vous utilisezgrep
; de toute façon il renvoie vrai si quelqu'un écoute sur par exemple le 4450).telnet
ynetcat
tentent en fait de créer un lien, ce qui n'est pas toujours ce que vous souhaitez.0 votes
Essayez les outils en ligne pour porter les détails de la manière la plus rapide possible. yougetsignal.com/tools/open-ports
0 votes
lsof -n -P -i :445
pour améliorer les performances.-n
: "empêche la conversion des numéros de réseau en noms d'hôtes"-P
: "empêche la conversion des numéros de port en noms de port"