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 не клеится , как вне просто добавить несколько символов в конец строки ?

| sed

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

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

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

sed

Как удалить от сюда
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 ругается

Выложите ваш скрипт, которым

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

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'
>

sed -e 's/Host: \(.*\) ()

sed -e 's/Host: \(.*\) () Ports: \(.*\)\/open.*/\1:\2/'

sed

SS19 slava # cat list.gnmap| sed -e '/#/d' |sed -e 's/Host: \(.*\) () Ports: \(.*\)\/open.*/\1:\2/'
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///

Не чего или я что то делаю не так ?

надо так: ~/tmp $ cat z | sed

надо так:
~/tmp $ cat z | sed -e 's/Host: \(.*\) () Ports: \(.*\)\/open.*/\1:\2/'

Может быт так лучше:cat z |

Может быт так лучше:
cat z | sed -e '/#/d' | sed -e 's/^Host: \(.*\) () Ports: \(.*\)\/open.*/\1:\2/'

sed --version
GNU sed версия 4.1.5
Copyright (C) 2003 Free Software Foundation, Inc.

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

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

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

sed

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

У тебя в файле после "()" не

У тебя в файле после "()" не пробел, а табуляция.
Так должно работать:
cat list.gnmap | sed -e '/#/d' | sed -e 's/^Host: \(.*\) ()\tPorts: \(.*\)\/open.*$/\1:\2/'

Ну тогда так: %grep Host

Ну тогда так:

%grep Host list.gnmap | awk '{print $2":"$5}' | awk -F \/ '{print $1}'
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. Дельная прожка

ping

а можно по пингу 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.

.

Используй "2>&1 >host.alive"
http://www.google.com/search?q=%222%3E%261+%3E%22

Возможно, неправильно понял,

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

Your_CMD | tee > file.txt

Я Gentoo & Funtoo

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".