З баш сценарію, як можна швидко дізнатися, чи відкритий порт 445
/ прослуховується порт на сервері.
Я спробував пару варіантів, але хочу щось швидке:
1. lsof -i :445
(Займає секунди)
2. netstat -an |grep 445 |grep LISTEN
(Займає секунди)
3. telnet
(не повертається)
4. nmap
, netcat
недоступні на сервері
Буде приємно знати спосіб, який не перераховується спочатку, а після цього - пропуски.
netstat -lnt
(з -t
і без -a
) обмежить вихід лише на прослуховування TCP-з'єднань. Це може трохи прискорити. Ви можете додати -4
для IPv4 лише тоді, коли вам не потрібен IPv6.
netstat -an | grep PORTNUMBER | grep -i listen
Якщо вихід порожній, порт не використовується.
lsof
вам повільно, але зазвичай це найкраще із перелічених вами рішень. Ваше netstat
рішення не дуже надійне (ви можете здогадуватися про нього, коли ви використовуєте grep
; все одно воно повернеться істинним, якщо хтось слухає, наприклад, 4450). telnet
і netcat
насправді намагаються створити з'єднання, яке не завжди може бути таким, яким ви хочете.