Я пытаюсь создать необработанный сокет для пакетов UDP только для переадресации IP, используя таблицу пересылки. Я не являюсь экспертом в программировании необработанных сокетов, и меня интересует, как обеспечить полный пакет UDP в буфере.
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_UDP)
s.bind(('0.0.0.0', 1337))
while True:
packet = s.recvfrom(65535) #how to know that I read the complete packet not 50% or 1 and half packet
forwared_packet_function(packet) #here I will parse the packet change ip header and update the IP table and forward the packet
Можно ли сказать мне, как я могу прочитать один полный пакет по recvfrom()
?