Вы здесь

Nmap VS superscan4 [solved]

В винде использовал для сканирования superscan4, очень шустрая штука + дает нужный мне формат вывода.
Вот переехал на линукс начал сканировать, nmap медленне сканирует, покурил маны, скорость увеличил, получил вот такую каманду
nmap 192.168.1.1-255 -n -sS --open --max-retries 0 -p T:445 -T4 -oA list
А вот как мне преобразовать вывод из:
# Nmap 4.76 scan initiated Wed Nov 26 18:37:00 2008 as: nmap -n -sS --open --max-retries 0 -p T:445 -T4 -oA list 192.168.1.1-255
Host: 192.168.1.2 () Ports: 445/open/tcp//microsoft-ds///
Host: 192.168.1.7 () Ports: 445/open/tcp//microsoft-ds///
Host: 192.168.1.55 () Ports: 445/open/tcp//microsoft-ds///
Host: 192.168.1.56 () Ports: 445/open/tcp//microsoft-ds///
# Nmap done at Wed Nov 26 18:37:03 2008 -- 255 IP addresses (4 hosts up) scanned in 2.78 seconds

В вот такой формат
192.168.1.2:445
192.168.1.7:445
92.168.1.55:445
192.168.1.56:445

Придумал только такое:
slava@SS19 ~ $ cat list.gnmap |grep -Eo "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"
26 18:37:00
192.168.1.1
192.168.1.2
192.168.1.7
192.168.1.55
192.168.1.56
26 18:37:03

И как мне к этому прибавить порт (только один 445) ?

Я бы предложил использовать sed, если nmap нельзя настроить на вывод в нужном формате

—

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

что-то у меня с sed не клеится , как вне просто добавить несколько символов в конец строки ?

| sed 's/$/<что_добавить>/'

Но я бы форматировал sed'ом весь вывод nmap (вытащил только адрес и порт), а grep не использовал бы.

—

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Как удалить от сюда
192.168.1.2 : 445/open/tcp//microsoft-ds///
192.168.1.7 : 445/open/tcp//microsoft-ds///
192.168.1.55 : 445/open/tcp//microsoft-ds///
192.168.1.56 : 445/open/tcp//microsoft-ds///

Вот эту строку /open/tcp//microsoft-ds/// ?
У меня sed ругается

Выложите ваш скрипт, которым вы пользуетесь и мы посмотрим. Телепаты нынче в отпуске.

SS19 slava # cat list.gnmap| sed -e '/#/d'| sed 's/Host://g' |sed 's/()//g'| sed 's/Ports//g'
192.168.1.2 : 445/open/tcp//microsoft-ds///
192.168.1.7 : 445/open/tcp//microsoft-ds///
192.168.1.55 : 445/open/tcp//microsoft-ds///
192.168.1.56 : 445/open/tcp//microsoft-ds///
А дальше
cat list.gnmap| sed -e '/#/d'| sed 's/Host://g' |sed 's/()//g'| sed 's/Ports//g'|sed ''s//open/tcp//microsoft-ds/////g'
>

Ну и я поизвращаюсь :)

grep Host test.txt | awk '{print $2,$5}' | awk -F \/ '{print $1}' | sed s/\ /:/
192.168.1.2:445
192.168.1.7:445
192.168.1.55:445
192.168.1.56:445

—

Я ♥ Gentoo & Funtoo

ftp://linux.vsi.ru/pub/list.gnmap
Вот оригинал проверьте на нем ! Пожалуйста !
ВСЕМ большое спасибо!!!
Вот так у меня все заработало
cat list.gnmap |grep Host | awk '{print $2,$5}' | awk -F \/ '{print $1}' | sed s/\ /:/

А какая разница, на каком файле проверять?

grep Host list.gnmap | awk '{print $2,$5}' | awk -F \/ '{print $1}' | sed s/\ /:/
192.168.1.2:445
192.168.1.7:445
192.168.1.55:445
192.168.1.56:445

—

Я ♥ Gentoo & Funtoo

дожгу...
#nmap -n -sS --open --max-retries 0 -p T:445 -T4 -oA list -oX nmaptest 192.168.1.0/24
#cat nmap.php
$file="nmaptest";
$xml = simplexml_load_file($file);
foreach($xml->host as $host)
{
if ( intval($host->ports->port['portid'])==445 && $host->ports->port->state['state']='open' )
echo($host->address['addr'].':445'),"\n";
}
?>
$ php nmap.php
192.168.1.2:445
192.168.1.5:445

Рецептов вам уже накидали.

1) Скучно под линем без sed/awk/grep/cut. Это как аз, буки,веди и глагол
2) Сам nmap обладает достаточно богатыми опциями форматирования вывода, смотри man nmap раздел OUTPUT

ЗЫ
Кстати в качестве сканера безопасности можно попробовать openvas. Дельная прожка

а можно по пингу IP отсортировать ?
Ну или как скормить пингу список IP из файла ?

#!/bin/bash
IP=192.168.1.1-254
PORT=445
nmap $IP -p T:$PORT -vvvvvvv -d9 --open -oA $IP:$PORT
cat *.gnmap | sed -e '/#/d' | sed -e 's/^Host: \(.*\) ()\tPorts: \(.*\)\/open.*$/\1:\2/'> $IP:$PORT
cat $IP:$PORT|sed 's/:'$PORT'//g'>ping.host

У меня появляеться файлик ping.host , скармливаю его fping
Потом делаем
SS19 nmap # fping -q -u -C 3 -f ping.host >host.alive
192.168.1.2 : 4.45 0.24 0.24
192.168.1.7 : 4.37 0.21 0.22
192.168.1.55 : 4.81 0.42 0.42
192.168.1.56 : 0.02 0.02 0.01

Вывод только в консоли в host.alive пусто.
Что делать ?
Я в дальнейшем хотел попробывать с помощью paste объеденить два файла $IP:$PORT и host.alive.

Возможно, неправильно понял, но, если необходим вывод в консоль и запись в файл, можно использовать tee:

Your_CMD | tee > file.txt

—

Я ♥ Gentoo & Funtoo