Python-Raw-Socket-Programmierung
Oct 18, 2016 am 10:01 AMIm Experiment müssen Sie selbst eine separate HTTP-Datennachricht erstellen. Die Verwendung von SOCK_STREAM zum Senden von Datenpaketen erfordert eine vollständige TCP-Interaktion.
Also möchte ich Raw-Sockets zum Programmieren verwenden, Datenpakete direkt erstellen und sie auf der IP-Ebene senden, also SOCK_RAW zum Senden von Daten verwenden.
Der Vorteil der Verwendung von SOCK_RAW besteht darin, dass das Datenpaket vollständig geändert werden kann, alle Datenpakete auf der IP-Ebene verarbeitet werden können und jedes Feld geändert werden kann, ohne durch UDP und TCP eingeschränkt zu werden.
Das HTTP-Datenpaket wird unten erstellt
Die IP-Schicht und die TCP-Schicht verwenden die Impacket-Bibliothek von Python, und der http-Inhalt wird selbst ausgefüllt.
#!/usr/bin/env python #------------------------------------------------------------------------------- # Name: raw_http.py # Purpose: construct a raw http get packet # # Licence: PythonTab.com #------------------------------------------------------------------------------- import sys import socket from impacket import ImpactDecoder, ImpactPacket def main(): if len(sys.argv) = 1: # Calculate its checksum. seq_id = seq_id + 1 tcp.set_th_seq(seq_id) tcp.calculate_checksum() # Send it to the target host. s.sendto(ip.get_packet(), (dst,80)) cnt= cnt -1 if __name__ == '__main__': main()

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie benutze ich eine schöne Suppe, um HTML zu analysieren?

So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch?

Einführung in die parallele und gleichzeitige Programmierung in Python

Serialisierung und Deserialisierung von Python -Objekten: Teil 1

So implementieren Sie Ihre eigene Datenstruktur in Python

Mathematische Module in Python: Statistik
