Servus, ich mal wieder.
Ich habe einen kleinen IP-Adressen-Filter gebastelt. Nun möchte mit Python einen Test machen, ob dieser auch wirklich funktioniert.
Um die Datei aufzurufen, verwende ich urllib. Nun würde ich gerne wissen, ob es ein Modul gibt, mit dem man eine andere IP-Adresse an den Server schicken kann.
Nehmen wir an, meine IP wäre sowas wie "88.45.212.34", aber das Script soll nun z.B diese IP verschicken: "32.112.32.54".
Gibt es sowas in der Art? Wäre ganz gut
"Falsche" IP-Adresse an Server schicken
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Letztendlich wirst du tiefer greifen müssen als Layer 7 (Anwendungsschicht: HTTP), denn die IP-Adresse des Senders wird logischerweise in Layer 3 (Vermittlungsschicht: IP) eingetragen. Ich denke mit Scrapy könntest du HTTP-Pakete von Hand zusammensetzen und schicken.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Dafür musst du auf raw sockets zurückgreifen und das komplette TCP Paket selbst aufbauen. Das ist aber keineswegs trivial und auch nicht "mal ebenso implementiert", insofern wurde ich dir raten, da was fertiges zu nehmen.
-
- User
- Beiträge: 27
- Registriert: Donnerstag 24. Juli 2008, 11:38
- Wohnort: Heidelberg
- Kontaktdaten:
Muss ich Scrapy lokal oder auf einen Server installieren? Das Problem ist, dass ich normalen Webspace habe und letzteres somit nicht machen kann.Leonidas hat geschrieben:Ich denke mit Scrapy könntest du HTTP-Pakete von Hand zusammensetzen und schicken.
Könntest du mir da etwas empfehlen, was auf Windows beim Client lauffähig ist?lunar hat geschrieben:insofern wurde ich dir raten, da was fertiges zu nehmen
falls Du kein "Hacker-Tool" benutzen möchtest kannst Du auch bei Heise einen Portscan machen - einfach mal nach "Heise Security Portscan" suchen, die IP des scannenden Server ist üblicherweise angegeben.
Ich glaube man sollte sehen können ob Port 80 dann offen ist.
Gruß
bughunter
Ich glaube man sollte sehen können ob Port 80 dann offen ist.
Gruß
bughunter
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Scrapy brauchst du auf dem Client, denn logischerweise konstruierst du die Pakete die du senden willst auch auf dem Client und schickst die dann zum Server und nicht andersrum.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 27
- Registriert: Donnerstag 24. Juli 2008, 11:38
- Wohnort: Heidelberg
- Kontaktdaten:
Ich hab mir jetzt Scrapy heruntergeladen, jedoch kann man das, was die Anbeiten, nicht wirklich "Dokumentation" nennen.
Wenn ich das richtig sehe, sollte man das Paket "http" importieren.
Mal schauen, ob ich einen Header zusammenfriemeln kann
Wenn ich das richtig sehe, sollte man das Paket "http" importieren.
Mal schauen, ob ich einen Header zusammenfriemeln kann
-
- User
- Beiträge: 27
- Registriert: Donnerstag 24. Juli 2008, 11:38
- Wohnort: Heidelberg
- Kontaktdaten:
Ich hab mich eben wieder drangesetzt, aber ich glaube, ich bin zu doof scrapy zu "installieren". Ich hab den Ordner schon in den Installationsordner von Python und in meinen Projektordner rein kopiert, aber die Imports scheitern...
Ich geh mal davon aus, dass der Import richtig ist, wenn nicht, bitte ich um Hilfestellung
Ich geh mal davon aus, dass der Import richtig ist, wenn nicht, bitte ich um Hilfestellung
Code: Alles auswählen
from scrapy.http import request
Werden hier gerade Scapy und Scrapy verwechselt? Ersteres ist *das* Tool (ok, aber eines der besten) für Packet Forgery und dergleichen. Das läuft soweit ich weiß jedoch nicht auf Windows-uffuff-XP (oder zumindest nicht mehr seit in SP 2 der Zugriff auf Raw Sockets eingeschränkt wurde).
Habe mich schon gefragt, was ein Webscraper mit IP-Spoofing zu tun haben soll. Jetzt frage ich mich nur noch, was HTTP-Pakete damit zu tun haben (Vermutlich meintest du IP-Pakete, du hattest ja geschrieben, dass das Ganze "weiter unten" abläuft).
@ Area51:
Warum so kompliziert? Schnapp' dir einfach 'nen Proxy, ban seine IP und ruf die Datei über den Proxy auf. Wenn du die Datei über HTTP aufrufen willst (wovon ich ausgehe, wenn du urllib verwenden willst) reicht ein Webproxy, ansonsten verwendest du beispielsweise Tor ("The Onion Router").
@ Area51:
Warum so kompliziert? Schnapp' dir einfach 'nen Proxy, ban seine IP und ruf die Datei über den Proxy auf. Wenn du die Datei über HTTP aufrufen willst (wovon ich ausgehe, wenn du urllib verwenden willst) reicht ein Webproxy, ansonsten verwendest du beispielsweise Tor ("The Onion Router").
-
- User
- Beiträge: 27
- Registriert: Donnerstag 24. Juli 2008, 11:38
- Wohnort: Heidelberg
- Kontaktdaten:
Tagchen
Bin eben endlich dazugekommen, Scapy auszuprobieren.
Import hat geklappt, aber das Tel hat das Modul "pcap" vermisst. Also hab ich das auch heruntergeladen.
Jetzt vermisst das Modul pcap das Modul "_pcap".
Wo bekomme ich dieses Modul nun her? Hab überall im kleinen g gesucht, aber nichts dazu gefunden.
@epsilon:
Ich möchte gezielte IP-Adress-Bereiche verbannen, da bringt mir Tor herzlich wenig, da ich ja immer zufällig eine IP bekomme, soweit ich weiß ^^
Bin eben endlich dazugekommen, Scapy auszuprobieren.
Import hat geklappt, aber das Tel hat das Modul "pcap" vermisst. Also hab ich das auch heruntergeladen.
Jetzt vermisst das Modul pcap das Modul "_pcap".
Wo bekomme ich dieses Modul nun her? Hab überall im kleinen g gesucht, aber nichts dazu gefunden.
@epsilon:
Ich möchte gezielte IP-Adress-Bereiche verbannen, da bringt mir Tor herzlich wenig, da ich ja immer zufällig eine IP bekomme, soweit ich weiß ^^
-
- User
- Beiträge: 36
- Registriert: Mittwoch 5. April 2006, 14:11
- Wohnort: Köln
Wenn es nur darum geht, die Funktionalität von der Funktion zu testen, die prüft, ob eine IP erlaubt ist oder nicht, warum musst du dann unbedingt die IP spoofen?
Schick doch einfach einen String an die Funktion und überprüfe den Output. Sollte reichen.
Schick doch einfach einen String an die Funktion und überprüfe den Output. Sollte reichen.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ist in python-libpcap enthalten.Area51 hat geschrieben:Jetzt vermisst das Modul pcap das Modul "_pcap".
Wo bekomme ich dieses Modul nun her? Hab überall im kleinen g gesucht, aber nichts dazu gefunden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Du verbindest dich nicht bei jedem Request über andere Tor Server. Default-mäßig wird die Server-Kette alle 7 Minuten gewechselt (es sei denn, ein Server ist nicht zu erreichen, dann werden sofort neue Tor nodes genommen).@epsilon:
Ich möchte gezielte IP-Adress-Bereiche verbannen, da bringt mir Tor herzlich wenig, da ich ja immer zufällig eine IP bekomme, soweit ich weiß ^^
Außerdem kann man das Alles über die Konfigurationsfile ändern.
Soweit ich mich erinnere, kann auch eingestellt werden, dass nur exit nodes aus bestimmten Ländern genommen werden.
-
- User
- Beiträge: 27
- Registriert: Donnerstag 24. Juli 2008, 11:38
- Wohnort: Heidelberg
- Kontaktdaten:
pylibpcap hab ich bereits heruntergeladen. Ich habe die pcap.py in meinen Projektordner kopiert, aber ich erhalte den Fehler "No module named _pcap".
Wenn ich die Datei pcap.py direkt über die Python-Shell ausführe, gehts auch in die Hose.
Hab ich irgendetwas vergessen?
Wenn ich die Datei pcap.py direkt über die Python-Shell ausführe, gehts auch in die Hose.
Hab ich irgendetwas vergessen?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja, kompilieren. _pcap ist ein C-Modul, das musst do vorher kompilieren. Normalerweise muss man Python Module immer mit ``python setup.py install`` installieren, aber wenn es reine Python-Module sind, dann reicht es, diese in den richtigen Ordner zu kopieren. Bei C-Modulen sieht das anders aus.Area51 hat geschrieben:Hab ich irgendetwas vergessen?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice