Strona 1 z 1

[SOLVED] [BASH] Wycinanie adresow IP i MACow z nmap.

: 03 sty 2009, 00:29
autor: Sinless Man
Witam!

Jako, ze to moj pierwszy post, witam wszystkim serdecznie : )

Do rzeczy. Mianowicie, wykonujac polecenie:

Kod: Zaznacz cały

 nmap -sP 192.168.1.0-254
Otrzymuje przykladowo cos takiego:

Kod: Zaznacz cały

Starting Nmap 4.62 ( http://nmap.org ) at 2009-01-03 00:17 CET
Host 192.168.1.102 appears to be up.
Host 192.168.1.105 appears to be up.
MAC Address: 00:1D:xx:xx:xx:xx (Nokia Danmark A/S)
Host home.gateway (192.168.1.254) appears to be up.
MAC Address: 00:04:xx:xx:xx:xx (Billion Electric Co.)
Nmap done: 255 IP addresses (3 hosts up) scanned in 4.099 seconds
I teraz - istnieje jakis sposob, by wyodrebnic te dane do postaci

Kod: Zaznacz cały

IP - MAC (OPIS MAC)
Przykladowo:

Kod: Zaznacz cały

192.168.1.105 - 00:1D:xx:xx:xx:xx (Nokia Danmark A/S)
Siedze juz nad tym dosc dlugo i nic sensownego nie przychodzi mi do glowy, a sama komenda 'cut' chyba zbyt wiele tu nie zdzialam ; p Jestem tez w miare poczatkujacy jesli chodzi o unixy..

Za wszelka pomoc bylbym bardzo wdzieczny,
Serdecznie wszystkich pozdrawiam,
Sinless Man.

Odp: [BASH] Wycinanie adresow IP i MACow z nmap.

: 03 sty 2009, 21:09
autor: moridin
Straszna partyzantka pisana na szybko ale powinno dzialac;-)

Wklej sobie kod skryptu do jakiegos pliku (np ip-mac.sh)

Kod: Zaznacz cały

#!/bin/sh
HOST_X=
MAC_X=

nmap -sP "$*" |
while read line ; do 
    if [ -n "$(echo $line|grep Host)" ] ; then 
	if [ -n "$(echo $line|grep \))" ] ; then
	    HOST_X=`echo $line|sed -e 's/.*(\(.*\)).*/\1/'`
	else 
	    HOST_X=`echo $line|sed -e 's/Host //' -e 's/ appears to be up.//'`
	fi 
    elif [ -n "$(echo $line|grep MAC)" ] ; then 
	MAC_X=`echo $line|sed -e 's/MAC Address: //'`
	if [ -n "$HOST_X" ] && [ -n "$MAC_X" ] ; then
	    echo "$HOST_X - $MAC_X" 
	    HOST_X=
	    MAC_X=
	fi
    fi 
done
Nadajesz prawa wykonywania:

Kod: Zaznacz cały

chmod +x ip-mac.sh
I uruchamiasz podajac adres;-)

Kod: Zaznacz cały

./ip-mac.sh 192.168.1.0-254
To tyle... Jak nie dziala daj znac...

Odp: [BASH] Wycinanie adresow IP i MACow z nmap.

: 03 sty 2009, 23:07
autor: Sinless Man
Witam!

Dziala! : )
Na prawde nie wiem jak Ci dziekowac - jestes wielki ; d

Dopisalem jeszcze linijke, zeby nie trzebabylo podawac zakresu ip, calosc wyglada tak:

Kod: Zaznacz cały

#!/bin/sh
HOST_X=
MAC_X=
range="$(ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}' | cut -f1,2,3 -d'.')"

nmap -sP $range.1-254 |
while read line ; do 
    if [ -n "$(echo $line|grep Host)" ] ; then 
	if [ -n "$(echo $line|grep \))" ] ; then
	    HOST_X=`echo $line|sed -e 's/.*(\(.*\)).*/\1/'`
	else 
	    HOST_X=`echo $line|sed -e 's/Host //' -e 's/ appears to be up.//'`
	fi 
    elif [ -n "$(echo $line|grep MAC)" ] ; then 
	MAC_X=`echo $line|sed -e 's/MAC Address: //'`
	if [ -n "$HOST_X" ] && [ -n "$MAC_X" ] ; then
	    echo "$HOST_X - $MAC_X" 
	    HOST_X=
	    MAC_X=
	fi
    fi 
done
I calosc dziala znakomicie - skrypt trzeba odpalac z poziomu roota.

Jeszcze raz WIELKIE dzieki,
Pozdrawiam!

Odp: [SOLVED] [BASH] Wycinanie adresow IP i MACow z nmap.

: 08 lut 2009, 13:10
autor: sfiru89
witam! mam ogromna prosbe, jestem poczatkujacym studentem i mam do napisania program ktory skanuje porty i wysyla smsa do uzytkownika w przypadku gdy jest otwarty jakis port z poza puli. nie wiem jak wykorzystac polecenie "nmap", ktory polecil mi wykladowca.. znalazlem tez skrypt do wysylania smsow ale nie wiem jak to zlaczyc razem. bardzo bylbym wdzieczny za pomoc.. ;)

Odp: [SOLVED] [BASH] Wycinanie adresow IP i MACow z nmap.

: 09 lut 2009, 00:43
autor: leon1313

Kod: Zaznacz cały

nmap -sT <host> | grep open 

Odp: [SOLVED] [BASH] Wycinanie adresow IP i MACow z nmap.

: 12 lut 2009, 12:04
autor: sfiru89
#!/bin/bash

IPKI=(192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 192.168.0.6)
while true; do
sleep 10m
DOWN=''
FOO='0'
for HOST in "${IPKI[@]}"; do
if [ $(ping -c 1 $HOST | grep from | wc -l) -eq 0 ]; then
DOWN="$DOWN $HOST"
FOO=$[FOO + 1]
if
done
if [ $FOO -gt 0 ]; then
if [ $# -lt 2 ]
then
echo "przykladowe uzycie:
./era-sms 888xxxxxx \"wiadomosc :D\""
exit
fi
done


mam takie cos i nie wiem co dalej... <zalamka>

Odp: [SOLVED] [BASH] Wycinanie adresow IP i MACow z nmap.

: 18 lut 2009, 17:40
autor: maxblink
czy ten skrypt po wpisaniu ip... poda mac adress ? [chodzi mi o sprawdzenie osob ktore sie ze mna lacza, i blokwoac im dostep na adres mac]

Odp: [SOLVED] [BASH] Wycinanie adresow IP i MACow z nmap.

: 18 lut 2009, 19:48
autor: leon1313
zobacz sobie coś takiego:

Kod: Zaznacz cały

nmap -sT <adres_hosta>
mozna tez na bogato:

Kod: Zaznacz cały

nmap -sT 192.168.1.0/24
skanuje adresu z zakresu 192.168.1.0-255