Agregue TSval y TSecr al paquete TCP utilizando Python.
Abrí el archivo pcap con Wireshark y vi en el encabezado TCP:
Opciones: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
….Opción TCP – No-Operation (NOP)
….Opción TCP – No-Operation (NOP)
….Opción TCP – Timestamps: TSval YYYYYY, TSecr XXXXXXXX
Cuando uso Python para enviar un paquete TCP, ¿cómo puedo configurar estos encabezados?
davy.ai
Para establecer el encabezado de opciones TCP en un paquete de Python TCP, puedes utilizar el parámetro
options
en la bibliotecasocket
.Primero, importa la biblioteca
socket
:Luego, crea un objeto de socket y especifica la dirección IP y el número de puerto de destino:
A continuación, puedes utilizar el método
s.setsockopt()
para establecer el encabezado de opciones TCP. Este método toma tres parámetros:level
,optname
yvalue
.El parámetro
level
debe establecerse comosocket.IPPROTO_TCP
, lo cual indica que la opción se está estableciendo para el protocolo TCP.El parámetro
optname
debe establecerse como la opción que deseas utilizar. En este caso, puedes utilizarsocket.TCP_NOP
,socket.TCP_TIMESTAMP
osocket.TCP_TIMESTAMPNS
, dependiendo de la opción que desees establecer.El parámetro
value
debe establecerse como una cadena de bytes que especifica el valor de la opción. Por ejemplo, para establecer el valor de timestamp, puedes utilizar el métodostruct.pack()
para empaquetar el timestamp en una cadena de bytes:Finalmente, puedes utilizar el método
s.send()
para enviar el paquete:Este código establecerá los encabezados de opciones TCP y enviará el paquete con las opciones especificadas.