【问题标题】:Create mocked http session with scapy python使用 scapy python 创建模拟的 http 会话
【发布时间】:2023-03-29 18:10:02
【问题描述】:

如何创建 HTTP 会话并保存它的数据包? 我有这个代码:

导入日志 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)

从 scapy.all 导入 *

get='GET / HTTP/1.0\n\n'

ip=IP(dst="www.google.com")

port=RandNum(1024,65535)

SYN=ip/TCP(sport=port, dport=80, flags="S", seq=42)

SYNACK=sr1(SYN)

ACK=ip/TCP(sport=SYNACK.dport, dport=80, flags="A", seq=SYNACK.ack, ack=SYNACK.seq + 1) / 得到

回复,错误=sr(ACK)

但是在我的代码中我不想发送任何数据包只是为了得到答案(模拟 SYNACK=sr1(SYN) 和回复的发送函数的情况,错误=sr(ACK) 没有真正使用它们) .. 我想模拟两个 ips(及其端口)和有效负载之间的会话,然后将所有内容作为数据包保存为 cap 文件。我该怎么做?

【问题讨论】:

    标签: python http scapy


    【解决方案1】:

    您正在寻找的行话是“嘲笑”。更高版本的 python 单元测试有unittest.mock,还有一些外部库可以伪装成外部源,比如文件、数据库和网站,让你可以测试你的代码。

    【讨论】:

    • 我应该写什么而不是 SYNACK=sr1(SYN)?
    猜你喜欢
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多