Einspritzen von raw-TCP-Pakete mit Python
Was wäre ein geeigneter Weg, um zu injizieren, eine raw-TCP-Paket mit Python? Ich habe zum Beispiel die Nutzlast, bestehend aus hexadezimalen zahlen, und ich möchte zu senden, dass die Sequenz von hexadezimal-zahlen, um ein Netzwerk-daemon: also, wenn ich wählen Sie senden 'abcdef', ich seh 'abcdef' auf den Draht zu. Aber nicht '6162636566", wie im Fall von:
new = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
new.connect(('127.0.0.1', 9999))
new.send('abcdef')
Kann ich mit Python SOCK_RAW für diesen Zweck? Wenn ja, können Sie mir ein Beispiel senden von raw-TCP-Pakete mit SOCK_RAW (da bekomme ich es nicht die Arbeit mich)
Dank!
Evgeniy
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen scapy, einem leistungsstarken, interaktiven packet manipulation Programm.
Beispiel:
Klingt wie Sie möglicherweise verwirrt über python-Zeichenketten. Versuchen Sie zum Beispiel:
Für raw-sockets, SOCK_RAW, ist der Weg zu gehen. Denken Sie daran, dass, wenn Sie mit SOCK_RAW, Sie kann nur senden Sie die Nutzlast. Sie müssen die header-Bildung als auch. Nachdem Sie dies richtig, könnten Sie Probleme mit dem Betriebssystem. Während Raw-Sockets unter Windows XP, mit dem wir konfrontiert waren einige Probleme wegen security-Problemen.
Warum nicht einfach konvertieren den string in hex vor dem senden?