Может ли Nmap отображать только хосты с определенными открытыми портами?

Оболочки POSIX (например, bash ) и fish создают путь к текущему рабочему каталогу (свойство процесса, наследуемое дочерними элементами и сохраняющееся при выполнении команд) в Специальная переменная $ PWD в оболочках POSIX. Эквивалент для csh -подобных оболочек - это $ cwd .

Переменная динамическая. Его содержимое может измениться после вызова команды, которая изменяет текущий каталог, например cd (или pushd / popd в некоторых оболочках). Оболочки POSIX также поддерживают переменную $ OLDPWD , которая содержит предыдущий рабочий каталог до того, как вы вызвали успешный cd / pushd / popd .

Команда pwd печатает один путь к текущему каталогу. В оболочках POSIX эта команда часто встроена и просто выводит содержимое $ PWD .

Если вы хотите узнать, какой рабочий каталог был в момент запуска сценария, вам необходимо записать его в начале сценария, например:

#! /bin/sh -
original_PWD=$PWD
...
cd ...

Чтобы узнать текущий рабочий каталог вашего родительского процесса в GNU / Linux, вы можете сделать

parent_PWD=$(readlink -ve "/proc/$PPID/cwd")

, хотя у вас не всегда может быть разрешение на получение этой информации. Если ваш родитель умер, вы будете усыновлены init или дочерним жнецом, если таковой имеется. Однако $ PPID не будет обновляться , а не , поэтому в этом случае вы можете получить cwd неправильного процесса (если pid вашего родителя был повторно использован).

19
31.12.2015, 17:20
2 ответа

Рассмотрим также этот awkодин -вкладыш:

nmap -Pn -oG -p22,80,443,445 - 100.100.100.100 | awk '/open/{ s = ""; for (i = 5; i <= NF-4; i++) s = s substr($i,1,length($i)-4) "\n"; print $2 " " $3 "\n" s}'

Он напечатает вам все хосты со всеми указанными открытыми портами:

 100.100.100.100 (some-domain.com)
 22/open/tcp//ssh
 80/open/tcp//http
 443/open/tcp//microsoft-ds
 445/open/tcp//https-alt
3
27.01.2020, 19:45

Попробуйте выполнить следующую команду:

nmap --open -p 22,80 192.168.1.1-254 -oG - | grep "/open" | awk '{ print $2 }'

Это будет сканировать ваши порты в вашем диапазоне и направлять вывод в формате greppable для поиска открытых портов, а затем печатать IP-адреса, которые соответствуют любому из этих критериев.

4
27.01.2020, 19:45

Теги

Похожие вопросы