1

Как я могу выполнить онлайн сканирование портов только на портах, где я запускаю серверы?

1 ответ1

1
:: uses gnuwin32 sort, grep, sed, cut. You could rename windows sort.exe(could make a copy of sort.exe to windowssort.exe and unlocker lets you delete windows's sort.exe), and use gnuwin32 sort.exe instead.
@ECHO OFF
netstat -aon -p tcp | grep "LISTENING" | grep -o ":[^: ]*" | grep -P ":[0-9]+$"  | grep -v "^:0$"  | uniq | tr -d '\r' | tr -d '\n' | sed "s/:/,/g" | cut -b 2- | sed "s/,/\r\n/g" | sort -n | tr -d '\r' | tr -s '\n' ','

создает список с разделителями-запятыми, как

29,35,85,115,145,155,163,170

(чтобы узнать, как это произошло, вы могли бы немного узнать о регулярных выражениях, кое-что об используемых командах и попробовать каждую часть за раз, например сначала netstat -aon -p tcp затем добавьте | grep "LISTENING" т. д. ). Если бы sed мог найти новые строки, он был бы немного короче, а sed - нет, и если бы tr был более мощным, то было бы немного проще, но tr - нет.

Вы можете поместить этот список портов через запятую в онлайн-сканер портов

например

http://www.t1shopper.com/tools/port-scan/

И если список слишком длинный, поэтому сканирование этих портов в режиме онлайн занимает слишком много времени, тогда вы можете выполнить nmap с этим списком с другого компьютера в вашей локальной сети, и если какой-либо из них открыт, просто выполните сканирование портов онлайн на этих компьютерах. ,

Бесполезно выполнять онлайн-сканирование портов на всех 65535 портах, это займет слишком много времени и бессмысленно делать это, когда вы знаете, что только небольшой процент из них даже запускает сервер, и вы точно знаете, кто они. И бессмысленно просто сканировать «общие порты», когда вы точно знаете, на каких портах вы запускаете серверы, и какие тестировать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .