Scapy поддерживает http-конвейер?

Я пытаюсь написать сценарий, который делает http конвейерной с scapy. Когда я вызываю функцию отправки для отправки двух моих http-запросов назад, запросы не передаются по конвейеру. Второй http-запрос отправляется после получения первого http-ответа.

Фрагмент того, что у меня есть:

#Send SYN
syn = IP(src="31.31.31.10",dst='31.31.31.17') / TCP(dport=80,sport=RandShort(),flags='S')
syn_ack = sr1(syn)
#Send ACK
ack = (IP(src="31.31.31.10",dst="31.31.31.17")/TCP(dport=80, sport=syn_ack[TCP].dport,seq=syn_ack[TCP].ack, ack=syn_ack[TCP].seq + 1, flags='A'))
send(ack)
#Set the HTTP data
http1 = 'GET /a.html HTTP/1.1\r\nUser-Agent: curl/7.19.4\r\nHost: www.google.com\r\nAccept: */*\r\n\r\n'
http2 = 'GET /b.html HTTP/1.1\r\nUser-Agent: curl/7.19.4\r\nHost: www.google.com\r\nAccept: */*\r\n\r\n'
#Send First GET
get1 = (IP(src="31.31.31.10",dst="31.31.31.17")/TCP(dport=80, sport=syn_ack[TCP].dport,seq=syn_ack[TCP].ack, ack=syn_ack[TCP].seq + 1, flags='PA')/http1)
send (get1)
get1_payload = len(http1)
#Send the Second GET
get2 = (IP(src="31.31.31.10",dst="31.31.31.17")/TCP(dport=80, sport=syn_ack[TCP].dport,seq=syn_ack[TCP].ack + get1_payload, ack=syn_ack[TCP].seq + 1,flags='PA')/http1)
send (get2)

Scapy просто отправляет второй запрос слишком медленно или я что-то делаю неправильно?

0 ответов

Другие вопросы по тегам