Wireless LAN Verbindung aufbauen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

Hallo,
Ich würde gerne mit Python die Verbindung zu einem drahtlosen Netzwerk aufbauen, habe allerdings keine Ahnung, wie man das realisieren könnte. :roll:
Ich würde mich über jede Hilfe sehr freuen.
Danke für alle Antworten im Voraus,
Roman

PS: Ich nutze WinXP und Python 2.5 mit PythonWin Extensions.
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

Hm,
Hat keiner eine Idee, wie ich diese Verbindung realisieren könnte?
Es muss doch, zur Not in Windows, irgendwo eine Schnittstelle geben, über die man auf die Netzwerkverbindungen für WLANs zugreifen kann und damit dann auch auf alle Netzwerke in Reichweite.
Hab schon auf der Microsoft-Technet Seite geschaut, aber die hat auch nichts zu diesem Thema zu bieten...

Wenn noch jemand eine Idee hat, wäre ich sehr dankbar, wenn er sie posten könnte.
Danke schon mal im Voraus,
Roman
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Was willst Du denn damit machen? Wenn Du nur auf Dateien zugreifen willst, dürfte dies doch im WLAN kein Unterschied zu einem LAN sein. Mit den Details im Hintergrund (Hardware, Treiber etc.) brauchst Du Dich doch nicht zu beschäftigen, das erledigt doch das Betriebssystem.
MfG
HWK
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

Eigentlich reicht mir der Zugriff auf Dateien aus, besser noch wäre allerdings der Zugriff aufs Internet...
Allerdings sollte das alles kein Problem sein, wenn die Verbindung einmal aktiv ist, oder?

@HWK:
Wahrscheinlich hast du Recht und es gibt keinen Unterschied zum normalen LAN, allerdings weiß ich auch nicht, wie ich es da realisieren könnte.
Wenn du dazu Informationen hast, wäre ich dir sehr dankbar.
Bis dann,
Roman
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Lade doch einfach einmal eine Web-Seite mit urllib2.urlopen('Deine URL'). Wahrscheinlich reicht das schon.
MfG
HWK
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

hm,
Ich wollte gerne eine neue Verbindung damit aufbauen, keine URL über eine bestehende Verbindung senden. Und das tut doch urlopen nur, oder?
Mein Ziel war, quasi ein Pendant zu dem Windows Netzwerk-einrichten-Assistent zu haben.
Dafür muss es doch irgendwie eine Möglichkeit geben.
Das ganze halt als WLAN, wobei es wahrscheinlich ist, dass beides sehr ähnlich, wenn nicht genauso funktioniert...
Aber danke trotzdem für deine Antworten!
Bis dann,
Roman
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Falls nötig, wird eine Verbindung hergestellt. Hast Du es denn mal probiert?
MfG
HWK
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

Ja, habe ich...
Wenn das Netzwerkkabel nicht drin ist, aber dafür das WLAN an ist, wird keine Verbindung hergestellt.
Es geht ja leider nicht nur darum, eine aufzubauen, sondern vielmehr darum, eine neue Verbindung einzurichten. Sorry, ich hab das wohl nicht so gut erklärt.
Urlopen() hat bei nur versucht, über die bestehenden Verbindungen was zu empfangen und nicht versucht, eine neue einzurichten, wenn keine aktive Verbindung vorhanden ist.
Wenn das Netzwerkkabel nicht drin war, also die Verbindung zum Internet nicht aktiv war, kam von Urllib folgende Fehlermeldung:

Code: Alles auswählen

>>> import urllib2 as url
>>> url.urlopen('http://www.google.de')

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    url.urlopen('http://www.google.de')
  File "D:\Python25\lib\urllib2.py", line 121, in urlopen
    return _opener.open(url, data)
  File "D:\Python25\lib\urllib2.py", line 374, in open
    response = self._open(req, data)
  File "D:\Python25\lib\urllib2.py", line 392, in _open
    '_open', req)
  File "D:\Python25\lib\urllib2.py", line 353, in _call_chain
    result = func(*args)
  File "D:\Python25\lib\urllib2.py", line 1101, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "D:\Python25\lib\urllib2.py", line 1076, in do_open
    raise URLError(err)
URLError: <urlopen error (11001, 'getaddrinfo failed')>
>>> 
Wenn mir irgendjemand weiterhelfen kann, wäre ich sehr dankbar.
Mfg,
Roman
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Wird denn eine Verbindung aufgebaut, wenn Du das LAN-Kabel entfernt hast, das WLAN an ist und Du im Internet-Explorer Google anwählst?
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

Nein, leider auch nicht. :?
Daher kann auch urlopen() nicht funktionieren, der macht das ja wahrscheinlich genauso, wie der IE.

Ich bin inzwischen etwas weiter gekommen, also ich weiß, wie ich den host eines WLANs herausbekomme.
Eine Verbindung über Sockets habe ich versucht, allerdings kann ich den socket nicht verbinden (ja auch irgendwie logisch, sonst könnte man das ja auch ohne Netzwerkschlüssel).
Im Moment bin ich auf der Suche nach irgendeinem connect-Befehl, der auch den Netzwerkschlüssel als Authentifizierung übergeben bekommt.
Gibt es da irgendetwas?
Denn wenn ich erstmal einen Socket habe, der mit dem WLAN verbunden ist, ist das doch wie eine normale Verbindung, oder?

Danke für eure Antworten,
Roman
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Dann solltest Du doch erst mal Deine WLAN-Verbindung in Windows einrichten und als Standardverbindung einstellen, so dass IE die Verbindung automatisch herstellt. Dann wird es auch in Python mit urllib2 funktionieren. Python brauchst Du doch nicht zum Einrichten der Verbindung. Das macht es doch nur unnötig kompliziert.
MfG
HWK
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

Naja, mir ging es eigentlich darum, eine Verbindung per script einzurichten, nicht nur eine aufzubauen.

Eigentlich wollte ich ein Programm schreiben, was mich automatisch mit einem hotspot verbindet, oder dieses zumindest versucht.
Ich hatte mir überlegt, dass ein Thread regelmäßig schaut, ob ein Netzwerk mit "hotspot" im Namen verfügbar ist und sich dann damit verbindet.
Aber da ich keine Verbindung herstellen kann, funktioniert das auch nicht so richtig.
Aber danke trotzdem für die zahlreichen Tipps,
Roman
Antworten