Temat: Skrypt wyświetlający wszystkie dostepne sieci wi-fi
Hej, chciałbym napisać skrypt wyświetlajacy mi wszystki widoczne przez urządzenie sieci wi-fi. Jest na to jakiś sposób?
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → Skrypt wyświetlający wszystkie dostepne sieci wi-fi
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
Hej, chciałbym napisać skrypt wyświetlajacy mi wszystki widoczne przez urządzenie sieci wi-fi. Jest na to jakiś sposób?
Jest.
iwlist wlan0 scan.
Jak chcesz coś sensownego to na eko.one.pl znajdziesz projekt wifi analyzer który to prezentuje.
ok, a rozumiem, że dzięki danym uzyskanym z iwlista będę w stanie skonfigurować sieć wi-fi? Tzn. chciałbym zbudować taka funkcjonalność, że użytkownikowi zostają wyświetlone możliwe połączenia wi-fi a on wybiera jeden z nich, z którym urzadzenie nawiązuje połączenie.
W sumie tak - masz tam nazwę sieci i potrzebne kodowanie. Zostaje tylko wprowadzenie wymaganego hasła.
Dzięki
#!/bin/bash
a=0;b=0;x=0
while read line;do
[ "`echo $line | grep ESSID`" ] && essid[$a]=`echo "$line" | cut -d : -f 2 | grep -o '[a-z,A-Z,0-9]*'` && ((a++))
[ "`echo $line | grep Address`" ] && address[$b]=`echo "$line" | awk '{print $5}'` && ((b++))
done < <(iwlist scan 2>/dev/null )
while [ $x -lt ${#essid[@]} ];do
echo ${essid[$x]} --- ${address[$x]}
(( x++ ))
doneDla tego skrypty wyrzuca mi błąd o redirecta. Wiecie, może dlaczego? Czy OpenWrt jest jakieś specyficzne, jeżeli chodzi o basha?
Bash to bash, nic specyficznego z openwrt w nim nie ma.
#!/bin/bash
iwlist scan > /tmp/scan.txt 2>/dev/null
a=0;b=0;x=0
while read line;do
[ "`echo $line | grep ESSID`" ] && essid[$a]=`echo "$line" | cut -d : -f 2 | grep -o '[a-z,A-Z,0-9]*'` && ((a++))
[ "`echo $line | grep Address`" ] && address[$b]=`echo "$line" | awk '{print $5}'` && ((b++))
done < /tmp/scan.txt
while [ $x -lt ${#essid[@]} ];do
echo ${essid[$x]} --- ${address[$x]}
(( x++ ))
done?
Bash to bash, nic specyficznego z openwrt w nim nie ma.
#!/bin/bash iwlist scan > /tmp/scan.txt 2>/dev/null a=0;b=0;x=0 while read line;do [ "`echo $line | grep ESSID`" ] && essid[$a]=`echo "$line" | cut -d : -f 2 | grep -o '[a-z,A-Z,0-9]*'` && ((a++)) [ "`echo $line | grep Address`" ] && address[$b]=`echo "$line" | awk '{print $5}'` && ((b++)) done < /tmp/scan.txt while [ $x -lt ${#essid[@]} ];do echo ${essid[$x]} --- ${address[$x]} (( x++ )) done?
bad substitution line9;
po za komentowaniu tej linii niby sie odpala ale plik scan.txt sie nie tworzy no i nie ma w tym skrypcie wywolania iwlista
Jest na górze...
edit:
./skrypt.sh: line 7: address[0]=E2:29:4A:8A:3B:59: not found
./skrypt.sh: line 7: essid[0]=: not found
./skrypt.sh: line 7: address[0]=00:11:95:BC:83:6C: not found
./skrypt.sh: line 7: essid[0]=: not found
./skrypt.sh: line 7: address[0]=00:1D:7E:61:1F:CF: not found
./skrypt.sh: line 7: essid[0]=: not found
./skrypt.sh: line 7: address[0]=F0:7D:68:BE:75:3A: not found
./skrypt.sh: line 7: essid[0]=: not found
./skrypt.sh: line 7: address[0]=00:12:17:80:21:13: not found
./skrypt.sh: line 7: essid[0]=: not found
./skrypt.sh: line 7: address[0]=00:1C:F0:FA:C3:7E: not found
./skrypt.sh: line 7: essid[0]=: not found
./skrypt.sh: line 9: syntax error: Bad substitution
po wykonaniu skryptu
No przecież to Twój skrypt nie mój, popraw go o prostu.
problem jest taki, że kiedy dałem ten skrypt do przetestowania na innej dystrybucji, to działa poprawnie...
iwlist wlan0 scan
wlan0 Interface doesn't support scanning : Operation not supported
ifconfig
(...)
wlan0 Link encap:Ethernet HWaddr XXXXXXXXXXXXX
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:1772 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:437001 (426.7 KiB)
mam 2 sieci wlan - to dlatego nie moge skanowac?
Bo interfejs nie pracuje w odpowiednim trybie?
iw phy phy0 interface add tmpsta type managed
ifconfig tmpsta hw ether 00:11:22:33:55:77
ifconfig tmpsta up
iwlist tmpsta scanning
ifconfig tmpsta down
iw dev tmpsta delcoś takiego zrób.
cudotworca ![]()
zrobilem:
iw phy phy0 interface add tmpsta type managed
ifconfig tmpsta hw ether 00:11:22:33:55:77
ifconfig tmpsta up
iwlist tmpsta scanning
dziala, gdzie to zapisac zeby bylo na stale? albo co poprawic w normalnych wlan0 czy wlan1 ?
Jak ten normalny zrobisz w innym trybie to będzie działać. A tak to musisz tworzyć dodatkowy interfejs jak masz napisane.
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → Skrypt wyświetlający wszystkie dostepne sieci wi-fi
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc