Beispiel für eine Python Socket-Kommunikation. Die Datenübertragung selbst kann in mindestens 2 Zeilen geschrieben werden.
with socket.socket(socket.AF_INET, args.p) as nsocket:
#Nur für TCP verbinden
if args.p is socket.SOCK_STREAM:
nsocket.connect((host, port))
#Datenübertragung
nsocket.send(data)
Ein nc befehlsähnliches, einfaches Tool zum Werfen von Daten mit hinzugefügten Parametern. Geplant für eine Erweiterung.
import argparse
import socket
#Parameterverarbeitung
parser = argparse.ArgumentParser()
parser.add_argument("-p", default=socket.SOCK_STREAM, help="Potocol TCP or UDP")
parser.add_argument("host", help="Hostname or IP Address")
parser.add_argument("port", help="Port number")
parser.add_argument("-m", default='0123456789abcdef' , help="Send data")
parser.add_argument("-f", type=argparse.FileType('rb'), help="Send data from a file")
args = parser.parse_args()
send_data = '0123456789abcdef'
if args.m:
send_data = args.m.encode()
if args.f:
send_data = args.f.read()
#Aktuelle Kommunikation
with socket.socket(socket.AF_INET, args.p) as nsocket:
#Nur für TCP verbinden
if args.p is socket.SOCK_STREAM:
nsocket.connect((args.host, int(args.port)))
#Datenübertragung
nsocket.send(send_data)
"""
#Antwort erhalten
nsocket.settimeout(3)
data = nsocket.recv(1024)
print(repr(data))
"""
Recommended Posts