Linux | sprawdzenie całej podsieci
Linux | sprawdzenie całej podsieci
Panowie, nigdy nie skryptowałem, ogólnie słabo znam linuxa i to moja bolączka, ale czas to zmienić i zacząć mocniej zrozumieć to środowisko, tylko nie bijcie za to banalne pytanie .
Jak stworzyć skrypt (poproszę o wskazówki od czego zacząć dla zielonego ufoludka który nigdy nic w tym nie robił) który zezwoli pingować np. podsieć lub wybrane ip z podsieci i da mi wynik tylko tych które są aktywne np.
bash-3.00$ ./bin/scan192.168.1.{1..10}
192.168.1.1 is alive
192.168.1.5 is alive
Jak stworzyć skrypt (poproszę o wskazówki od czego zacząć dla zielonego ufoludka który nigdy nic w tym nie robił) który zezwoli pingować np. podsieć lub wybrane ip z podsieci i da mi wynik tylko tych które są aktywne np.
bash-3.00$ ./bin/scan192.168.1.{1..10}
192.168.1.1 is alive
192.168.1.5 is alive
Kod: Zaznacz cały
subnet=$1
for addr in `seq 0 1 255 `; do
# ( echo $subnet$addr)
( ping -c 3 -t 5 $subnet$addr > /dev/null && echo $subnet$addr is Alive ) &
done
Jak od zera to może coś takiego link
To co Ci napisałem jest bardzo proste. $1 to argument który podajesz podczas wykonywania skryptu. Powiedzmy że zapisałes ten kod jako "skaner" i ustawiłeś chmod +x, więc wpisujesz "sh skaner 10.0.1." (jak dodasz na początku skryptu #!/bin/sh to możesz wpisać "skaner 10.0.1." bez wskazywania na powłoke)i skrypt sprawdzi adresy od 10.0.1.0 do 10.0.1.255. Dla każdego adresu tworzony jest osobny proces, więc nie musisz czekać na odpowiedź poprzednich adresów.
To co Ci napisałem jest bardzo proste. $1 to argument który podajesz podczas wykonywania skryptu. Powiedzmy że zapisałes ten kod jako "skaner" i ustawiłeś chmod +x, więc wpisujesz "sh skaner 10.0.1." (jak dodasz na początku skryptu #!/bin/sh to możesz wpisać "skaner 10.0.1." bez wskazywania na powłoke)i skrypt sprawdzi adresy od 10.0.1.0 do 10.0.1.255. Dla każdego adresu tworzony jest osobny proces, więc nie musisz czekać na odpowiedź poprzednich adresów.
root@linux:~#nmap -sP 10.20.10.0/24
Starting Nmap 6.40 at 2014-08-28 13:35 CEST
Nmap scan report for 10.20.10.7
Host is up (0.00072s latency).
Nmap scan report for 10.20.10.10
Host is up (0.0012s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.03 seconds
a pisanie skryptów zawsze możesz potrenować
Starting Nmap 6.40 at 2014-08-28 13:35 CEST
Nmap scan report for 10.20.10.7
Host is up (0.00072s latency).
Nmap scan report for 10.20.10.10
Host is up (0.0012s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.03 seconds
a pisanie skryptów zawsze możesz potrenować
Kod: Zaznacz cały
SunOS defthwux 5.10 Generic_138888-08 sun4v sparc SUNW,SPARC-Enterprise-T5120
Znalazłem coś takiego:
http://www.unix-ag.uni-kl.de/~auerswal/ping_scan/
http://www.unix-ag.uni-kl.de/~auerswal/ping_scan/
To zależy co masz na myśli. Możesz użyć wbudowanych w system narzędzi. Jedno z tych co podałeś w linku:natash pisze:A jak zrobić żeby za każdym razem podać inne wartości skryptu (wybrane adresy) przy wywoływaniu skryptu z linii komend?
Kod: Zaznacz cały
pawel@desktop ~ > echo 8.{1..9}.8.8
8.1.8.8 8.2.8.8 8.3.8.8 8.4.8.8 8.5.8.8 8.6.8.8 8.7.8.8 8.8.8.8 8.9.8.8
Kod: Zaznacz cały
pawel@desktop ~ > cat lista
8.8.8.8
8.8.8.4
8.8.4.4
1.1.1.1
Kod: Zaznacz cały
#!/bin/sh
while read line; do
ping $line 1 3 >> /dev/null;
if [ $? != 0 ]; then
echo "$line is not reachable"
else
echo "$line is reachable"
fi
done < sciezka_do_pliku_z_lista_ip
Kod: Zaznacz cały
pawel@desktop ~ > ./skrypt
8.8.8.8 is reachable
8.8.8.4 is not reachable
8.8.4.4 is reachable
1.1.1.1 is not reachable