Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Kilka narzędzi sieciowych od Siebie

Witam.

Ostatnio zacząłem nieco programować w Pythonie i napisałem kilka narzędzi które być może przydadzą się komuś ;-)

wconfig

Link do projektu:
- wconfig w GITHub.com

r   e   k   l   a   m   a

Klient shellowy do WICD, potrafi skanować w poszukiwaniu sieci WIFI, zapisywać output w formacie XML (bardzo łatwo parsowalny).

Posiada dodatkowo opcję automatycznego podłączenia do pierwszej działającej sieci wifi - jest to idealna funkcja na tabletpc czy laptop będąc często w podróży, wystarczy dodać wpis wconfig -as do /etc/rc.local lub innego skryptu startowego a połączenie wifi zawsze zostanie samo nawiązane*.

* Działa zarówno z zabezpieczonymi jak i niezabezpieczonymi sieciami (wicd zapamiętuje hasło - jeżeli już używaliśmy sieci, to się do niej podłączy), wybiera sieć z największym sygnałem

webnull@webnull-gentoo-desktop wconfig $ ./wconfig.py --help
wconfig for GNU/Linux, a wireless scanner with option to connect automaticaly to wireless, provide also XML output
Usage: wconfig [long GNU option] [option]

 --xml, -x - output results as XML to be easy to parse
 --auto-connect, -a - output results as XML to be easy to parse
 --debug, -g - enable extra debugging
 --disconnect, -d - disconnect from network if connected
 --connect-by-mac, -m - connect to wireless network by mac adress
 --connect-by-name, -e - connect to wireless network name (essid)
 --help, -h this screen

Examples:
 wconfig -s # scan for wireless networks and show results as plaintext
 wconfig -xs # scan for wireless networks and show results as parsable XML
 wconfig -d # disconnect from wireless network
 wconfig -ds # disconnect from wireless network and scan for network
 wconfig -m 00:00:00:00:00:00 # connect to wireless network by MAC adress
 wconfig -e my-network # connect to wireless network by bssid (network name)
 wconfig -i 0 # connect to first network from list, to list networks type wconfig -s
 wconfig -as # connect to first working network

webnull@webnull-gentoo-desktop wconfig $ ./wconfig.py -s
0 XX:XX:XX:XX:XX:XX "webnull-home-network" WPA2 90% Master 7 *ACTIVE*
1 XX:XX:XX:XX:XX:XX "linksys" WPA2 27% Master 11 
2 XX:XX:XX:XX:XX:XX "Litwa" WPA2 33% Master 11

webnull@webnull-gentoo-desktop wconfig $ ./wconfig.py -xs
<?xml version="1.0" encoding="UTF-8"?>
<networks>
   <network>
        <mac>XX:XX:XX:XX:XX:XX</mac>
        <name>webnull-home-network</name>
        <encryption>WPA2</encryption>
        <percentage_strength>90</percentage_strength>
        <mode>Master</mode>
        <channel>7</channel>
        <active>True</active>
   </network>
   <network>
        <mac>XX:XX:XX:XX:XX:XX</mac>
        <name>linksys</name>
        <encryption>WPA2</encryption>
        <percentage_strength>27</percentage_strength>
        <mode>Master</mode>
        <channel>11</channel>
        <active>False</active>
   </network>
   <network>
        <mac>XX:XX:XX:XX:XX:XX</mac>
        <name>Litwa</name>
        <encryption>WPA2</encryption>
        <percentage_strength>33</percentage_strength>
        <mode>Master</mode>
        <channel>8</channel>
        <active>False</active>
   </network>
</networks>

Zastosowanie wconfig:
- Laptop/tablet, włączamy urządzenie i jesteśmy od razu podłączeni do internetu jeżeli jesteśmy w zasięgu sieci wifi która oferuje dostęp

- Zbieranie statystyk, można wysyłać skany sieci w postaci XML do zdalnego serwera który zbiera sobie listy sieci wifi na danym obszarze ;-)

wtop

Link do projektu:
- wconfig w GITHub.com

Program używa curses do wyświetlania grafiki, skanuje lokalne sieci wifi i wypisuje na ekranie.

Posiada historię w której zapamiętuje każdą sieć, nawet tą która jest poza zasięgiem, w historii sieć WIFI jest zapamiętywana zawsze z najlepszą jakością sygnału (jak przybliżymy się do access pointu danej sieci to do historii zostanie wpisana lepsza jakość sygnału).

Uwaga: Na niektórych kartach sieciowych potrafi zerwać połączenie wifi przez zbyt częste odświeżanie (co 6 sekund) listy z sieciami bezprzewodowymi. Testowano na dwóch kartach sieciowych, jedna słabsza (od zawsze znana z awarii sprzętowych) potrafi zerwać połączenie.

Zastosowanie wtop:
- Sprawdzanie zasięgu własnej sieci WIFI
- Sprawdzanie ile sieci można wyłapać na danym obszarze

scan-network

Link do projektu:
- wconfig w GITHub.com

Narzędzie do skanowania danego zakresu adresów IP, można nim przeskanować całą sieć lokalną.

Uwaga: Wymaga uprawnień administratora (do ICMP), za niedługo postaram się dodać wersję nie wymagającą uprawnień roota (używającej shellowego pinga zamiast implementacji pinga w Pythonie)

webnull-gentoo-desktop scan-network # ./scan-network.py --from=100 --to=110 --ip 192.168.1
Adresses to scan: 10
Ping 192.168.1.{100 to 110}
Delay: 1
192.168.1.100 responds in 0.0013279914856
192.168.1.101 not responding, offline
192.168.1.102 responds in 0.000174999237061
192.168.1.103 not responding, offline
192.168.1.104 not responding, offline
192.168.1.105 not responding, offline
192.168.1.106 not responding, offline
192.168.1.107 not responding, offline
192.168.1.108 not responding, offline
192.168.1.109 not responding, offline
192.168.1.110 not responding, offline

Zastosowanie scan-network:
- Sprawdzanie czy jakiś intruz nie grasuje po naszej sieci (jeżeli DHCP dostępne)
- Sprawdzanie który z naszych komputerów w domu jest włączony i podłączony do sieci
- Atakujący publiczne sieci może wykryć ile jest komputerów w sieci, następnie sprawdzić je dodatkowo przy pomocy nmap czy innego narzędzia

W przygotowywaniu mam narzędzia:
+ Skaner do śledzenia sygnału bluetooth
+ Analizator pakietów zesniffowanych Wiresharkiem (filtr na HTTP - POST i GET, z wyciąganiem ciasteczek oraz pól z GET i POST, być może generowanie ciasteczek dla Firefoksa)
+ Upierdliwy, denerwujący rozsyłacz kartek elektronicznych (vCard) masowo przez bluetooth, czyli bluejacking ;-) 

Komentarze