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?

2

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

Jest.

iwlist wlan0 scan.

Jak chcesz coś sensownego to na eko.one.pl znajdziesz projekt wifi analyzer który to prezentuje.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

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.

4

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

W sumie tak - masz tam nazwę sieci i potrzebne kodowanie. Zostaje tylko wprowadzenie wymaganego hasła.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

Dzięki

6

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

#!/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++ ))
done

Dla tego skrypty wyrzuca mi błąd o redirecta. Wiecie, może dlaczego? Czy OpenWrt jest jakieś specyficzne, jeżeli chodzi o basha?

7

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

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

?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8 (edytowany przez politech 2011-06-10 11:48:52)

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

Cezary napisał/a:

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

9

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

Jest na górze...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10 (edytowany przez politech 2011-06-10 12:10:25)

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

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

11

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

No przecież to Twój skrypt nie mój, popraw go o prostu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

problem jest taki, że kiedy dałem ten skrypt do przetestowania na innej dystrybucji, to działa poprawnie...

13

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

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?

Wszystkie posty dotycza: TP-LINK TL-WR1043ND

Za pomoc Cezarego w poscie powyzej i ponizej dziekuje z gory :-)

14

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

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 del

coś takiego zrób.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

cudotworca smile

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 ?

Wszystkie posty dotycza: TP-LINK TL-WR1043ND

Za pomoc Cezarego w poscie powyzej i ponizej dziekuje z gory :-)

16

Odp: Skrypt wyświetlający wszystkie dostepne sieci wi-fi

Jak ten normalny zrobisz w innym trybie to będzie działać. A tak to musisz tworzyć dodatkowy interfejs jak masz napisane.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.