为什么 Scapy 不捕获整个 HTML 代码?

问题描述 投票:0回答:0

我制作了一个 Scapy 脚本,它会询问用户他们希望从哪个网站提取 HTML 代码(出于显而易见的原因必须是 HTTP),然后设置与该网站的 3 路 TCP 握手。完成后,代码将发送 GET 请求并将对该 GET 请求的回复存储到变量中,并打印接收到的数据包的 HTML 代码部分。

但是,每当我运行代码时,只有一小部分网站的整体 HTML 代码被保存/捕获。

`from scapy.all import *
from scapy.layers.http import *
from scapy.layers.inet import *

# Asking user what website to get HTML from
website = input("Website (e.g www.example.com): ")

# 3 Way Handshake

# Creating SYN Packet
synPacket = IP(dst=website) / TCP(dport=80, flags='S')

# Capturing SYN-ACK Packet
synAckPacket = sr1(synPacket)

# Creating ACK Packet
ackNum = synAckPacket.seq + 1
seqNum = synAckPacket.ack
port = synAckPacket.dport
ackPacket = IP(dst=website) / TCP(sport=port, dport=80, flags='A', seq=seqNum, ack=ackNum)

# Sending ACK Packet
send(ackPacket)

# Creating GET Packet
getPacket = IP(dst=website) / TCP(sport=port, dport=80, flags='PA', seq=seqNum, ack=ackNum) / HTTP() / HTTPRequest(Host=website)
send(getPacket)

# Capturing GET Reply Packet
replyPacket = sr1(getPacket)
print(replyPacket[Raw].load)
`

我正在用 www.example.com.

测试这个

我收到: ' 示例域 Whole HTML Code

我尝试了不同的方法来搜索 HTTP GET 响应,但是我很确定我已经捕获了正确的数据包,因为在 Wireshark 中,我捕获的数据包包含整个 HTML 代码。

html scapy
© www.soinside.com 2019 - 2024. All rights reserved.