À partir d'un script bash, comment savoir rapidement si un port 445est ouvert / à l'écoute sur un serveur.
J'ai essayé quelques options, mais je veux quelque chose de rapide:
1. lsof -i :445 (prend quelques secondes)
2. netstat -an |grep 445 |grep LISTEN(prend des secondes)
3. telnet(il ne revient pas)
4. nmap, netcatne sont pas disponibles sur le serveur
Ce sera bien de connaître un moyen qui ne fait pas d'énumération en premier et qui fait ensuite la greps.
netstat -lnt(avec -tet sans -a) limitera la sortie à l'écoute des connexions TCP uniquement. Cela peut accélérer un peu. Vous pouvez ajouter -4pour IPv4 uniquement si vous n'avez pas besoin d'IPv6.
netstat -an | grep PORTNUMBER | grep -i listenSi la sortie est vide, le port n'est pas utilisé.
lsofest lent pour vous, mais normalement c'est la meilleure des solutions que vous avez énumérées. Votre netstatsolution n'est pas très fiable (vous pouvez la deviner à chaque fois que vous l'utilisez grep; de toute façon elle revient vraie si quelqu'un écoute par exemple sur 4450). telnetet netcatessayez de créer une connexion, ce qui n'est pas toujours ce que vous voulez.