Verwendung von scapy

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
partymungo
User
Beiträge: 5
Registriert: Donnerstag 21. August 2008, 09:39
Wohnort: Duisburg

Hallo,
ich glaub ich stell mich gerade ein bisschen dumm an, aber irgenwie kriege ich "scapy" nicht ans rennen. Was ich getan habe:
1. Aktuelle scapy Version (2.0.0.9) heruntergeladen und entpackt
2. "./setup.py build" ausgeführt
3. "./scapy.py install" ausgeführt

So weit so gut. scapy kann von der Konsole gestartet und verwendet werden (ich habe mit den Beispielen aus der Quickdemo gearbeitet).

Aber wie kann ich scapy in eigenen python Skripten verwenden? Ich kann in der python Konsoloe "import scapy" oder "from scapy import *" fehlerfrei absetzen, aber dann komme ich nicht weiter.

Code: Alles auswählen

>>>str(IP())
schmeisst z.B. eine Fehlermeldung ("Traceback ... name 'IP' is not defined). Sollte nicht irgendwo ein "scapy.py" existieren welches dann im lokalen Skriptverzeichnis liegen muss? Ich bin verwirrt .... :? :? :?

Ich verwende openSUSE 10.3 (32 und 64 Bit)
Bin für jeden Tip dankbar.
n4p
User
Beiträge: 55
Registriert: Dienstag 10. Juni 2008, 11:05

Hallo partymungo,

ich kenne zwar scapy nicht aber nichts desto trotz:
müsste es nicht

Code: Alles auswählen

scapy.IP()
heißen?
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Hier tut's einwandfrei, sowohl innerhalb der Scapy- als auch der Python-Shell (bei Letzterer aber mit vorhergehendem Import, sowohl über den Namespace als auch mit ``*``).

Nach dem ``*``-Import könntest du mal den Output von ``for x in sorted(dir()): print x`` auf Scapy-Objekte untersuchen.

Klingt für mich irgendwie danach als hättest du selbst eine Datei namens ``scapy.py`` erstellt und willst darin Scapy importieren, welches dann aber bereits durch den Python-Pfad "abgehängt" wurde und nicht mehr erreichbar ist.
partymungo
User
Beiträge: 5
Registriert: Donnerstag 21. August 2008, 09:39
Wohnort: Duisburg

Hallo,
erst mal vielen Dank für die schnellen Antworten. :D

@n4p:
Du hast natürlich recht, so hatte ich es in der python-Konsole auch probiert.
Meldung: "AttributeError: 'module' object has no attribute 'IP'"
Die TAB Erweiterung auf "scapy." liefert mir die folgende Objektliste:
scapy.__class__
scapy.__dict__
scapy.__file__
usw.
Leider weiss ich nicht wie ich diese verwenden kann.

@YOGi:
Nach dem ``*`` Import liefert mir der print die folgende Liste:
__builins__
__doc__
__file__
__name__

Mehr nicht. Ich selbst habe kein Skript mit dem Namen "scapy.py" angelegt. "scapy.py" kann im gesamten System nicht gefunden werden.

Sollte nach der Installation (./setup.py install) nicht unter "/usr/lib/python2.5/site-packages" irgendwas von scapy installiert sein? Muss nach der Installation noch ein Pfad angepasst werden?

Danke für eure Hilfe
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Du hast ja auch nicht ``python setup.py install`` gemacht sondern ``python scapy.py install`` gemacht, wie soll das dann auch gehen?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
partymungo
User
Beiträge: 5
Registriert: Donnerstag 21. August 2008, 09:39
Wohnort: Duisburg

Hallo Leonidas,
ich habe als root im Verzeichnis "/home/name/scapy-2.0.0.9" die folgenden Befehle ausgeführt: "./setup.py build" und " ./setup.py install"
Der install gibt mir folgende Ausgaben zurück:

#### Schnipp ####
running install
running buil
running buil_py
running build_scripts
running_install_lib
running_install_scripts
changing mode of /usr/local/bin/scapy to 775
changing mode of /usr/local/bin/UTscapy to 775
running install_data
running install_egg_info
Removing /usr/local/lib/python2.5/site-packages/scapy-2.0.0.9-py2.5.egg-info
Writing /usr/local/lib/python2.5/site-packages/scapy-2.0.0.9-py2.5.egg-info
#### Schnapp ####

Gleiches Verhalten zeigt der Aufruf von "python setup.py install".
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Was hast du denn in site-packages für Dateien/Ordner. Hast du dort Scapy-relevantes drin liegen?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
partymungo
User
Beiträge: 5
Registriert: Donnerstag 21. August 2008, 09:39
Wohnort: Duisburg

Hallo Leonidas,
danke für die schnelle Antwort.

Unter "/usr/local/lib/python2.5/site-packages" liegt der Ordner "scapy" (root root 755) und eine Datei mit Namen "scapy-2.0.0.9-py2.5.egg-info" (root root 644). Im Ordner "scapy" liegen dann jeden Menge ".py" und ".pyc" Dateien sowie die Verzeichnisse "arch", "asn1", "layers", "modules" und "tools".

Unter "/usr/lib/python2.5/site-packages" liegen keine scapy relevanten Daten (hier liegen aber andere zusätliche Module wie z.B. numpy, matplotlib etc.). Kopieren der scapy relevanten Daten an diese Stelle hab ich schon ausprobiert, zeigt aber auch keine Wirkung.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Hast du vielleicht setuptools gar nicht installiert, so dass er mit dem Egg in den site-packages gar nichts anfangen kann? Wobei dann eigentlich die Installation schon fehlgeschlagen hätte haben sollen tun gehabt hat.
lobo
User
Beiträge: 29
Registriert: Sonntag 25. August 2002, 16:10
Wohnort: bei Augsburg

partymungo hat geschrieben: ...
Aber wie kann ich scapy in eigenen python Skripten verwenden? Ich kann in der python Konsoloe "import scapy" oder "from scapy import *" fehlerfrei absetzen, aber dann komme ich nicht weiter.
...
Hi,

in Scapy 2.x wurde die API verändert (1). Hier ist ein kleines Beispiel, wie du Scapy in eigenen Skripten verwenden kannst:

Code: Alles auswählen

#! /usr/bin/env python
from scapy.all import *

if __name__ == "__main__":
    interact(mydict=globals(), mybanner="My FooBar Addon 0.1")
Leider wird das noch nicht auf der eigentlichen Homepage erwähnt. Man findet die Infos nur auf der Mailingliste, im Mercurial Changelog oder im Trac.

Gruss

Jochen

1.) http://trac.secdev.org/scapy/wiki/migrations
Jabber: lobo@jabber.ccc.de
[url=http://www.c3a.de/]chaostreff augsburg[/url]
partymungo
User
Beiträge: 5
Registriert: Donnerstag 21. August 2008, 09:39
Wohnort: Duisburg

Hi,
vielen Dank für die Tips ... mit
"from scapy import all as scapy"
läufts.
lobo
User
Beiträge: 29
Registriert: Sonntag 25. August 2002, 16:10
Wohnort: bei Augsburg

Zur Vollständigkeit. Kürzlich gab es auch eine Info auf der Mailinglist, dass an einer Doku gearbeitet wird.

http://article.gmane.org/gmane.comp.sec ... neral/3252
--
Hi,

I have integrated some of the existing documentation for Scapy into a
single manual:

HTML: http://dirk-loss.de/scapy-doc/
PDF: http://dirk-loss.de/scapy-doc/Scapy.pdf (75 pages)

Both versions are automatically generated from the same sources using
the Sphinx documentation toolchain <http://sphinx.pocoo.org/>.
The HTML version has a nice interactive search feature.

Most of the content had already been written by Philippe Biondi and
Fred Raynal. Kudos to them for allowing me to use their docs under a
Creative Commons Attribution-Noncommercial-ShareAlike license.
(If anybody is missing in the Credits, please let me know.)

I consider this an alpha release. But I guess it could be useful
already. If you like to contribute, fix errors or add interesting stuff,
here's the source code (including the old LaTeX docs):

$ hg clone http://hg.secdev.org/scapydoc

Any feedback is appreciated.

Regards
Dirk
--
Jabber: lobo@jabber.ccc.de
[url=http://www.c3a.de/]chaostreff augsburg[/url]
Antworten