okradanie here mam założyć małą skrypt Pythona, który nasłuchuje na porcie i drukuje wszystkich pakietów UDP to otrzymuje:netcat wysyłając dodatkowy znak „X” UDP
import socket
UDP_IP = "127.0.0.1"
UDP_PORT = 5005
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((UDP_IP, UDP_PORT))
while True:
data, addr = sock.recvfrom(1024)
print "received message:", repr(data)
Teraz używam netcat
wysłać dane do tego skryptu. Oto moja linia poleceń.
echo -e "foo:1|c" | netcat -v -u localhost 5005
I tu jest wyjście z Pythona:
received message: 'X'
received message: 'X'
received message: 'X'
received message: 'X'
received message: 'X'
received message: 'foo:1|c\n'
Te pierwsze cztery lub tak „X” linie dojść mniej więcej sekundowych odstępach, po czym dwa ostatnie wiersze przybywają mniej więcej równocześnie.
Moje pytanie brzmi: skąd się biorą te dodatkowe pakiety "X", a jeśli źródłem jest netcat
, to w jaki sposób mogę zapobiec emisji ich przez netcat
? Myślę, że jest to netcat
BSD.
Na jakim systemie operacyjnym istnieje '/ dev/udp'? –
Ah, widzę, że jest to funkcja bash, a nie funkcja systemu operacyjnego. Nie wiedziałem o tym. –
Napisałem/dev/udp na QNX dawno temu. Jestem pewien, że było coś takiego na planie 9, chociaż działało to inaczej niż to, co mgliście pamiętam. –