使用scapy python创建模拟的http会话

时间:2016-04-06 10:42:45

标签: python http scapy

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

导入日志记录 logging.getLogger(" scapy.runtime&#34)。setLevel(logging.ERROR)

来自scapy.all import *

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

IP = IP(DST =" www.google.com&#34)

端口= 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)/ get

应答,误差= SR(ACK)

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

1 个答案:

答案 0 :(得分:0)

你正在寻找的行话是'嘲笑'。更高版本的python单元测试有unittest.mock,并且还有可用的外部库可以伪装成文件,数据库和网站之类的外部源,允许您测试代码。