如何将 sr 函数的 scapy IP 地址列表结果获取到变量中
How to get scapy IP address list result from sr function into a variable
我正在尝试使用 scapy 在一系列 IP 地址中执行 ICMP(主机处于活动状态扫描)。
但我想将 sr 函数的结果列表(仅答案)存储在一个变量中,以便我可以将它用于其他目的。但这似乎不起作用。
我试过this,但它在我的情况下不起作用,因为预期的结果是一个 IP 列表,我想存储并稍后显示所有这些。
如果我输入 scapy 并输入上面的命令,它工作正常!
ans,_ = sr(IP(dst='192.168.1.1-7')/ICMP(), timeout=10)
ans.summary( lambda s_r: s_r[1].sprintf("{IP: %IP.src% is alive}"))
给我的结果:
192.168.1.1 is alive
192.168.1.3 is alive
192.168.1.5 is alive
192.168.1.6 is alive
这是我尝试过的(在我的 pycharm 项目中)但它给出了错误 'tuple' object has no attribute 'getlayer'
ips = '192.168.1.1-9'
ans, _ = sr(IP(dst=ips) / ICMP(), timeout=10)
address = ans.getlayer(IP).src
print(address)
ans_ips = [a[1].src for a in ans]
我正在尝试使用 scapy 在一系列 IP 地址中执行 ICMP(主机处于活动状态扫描)。 但我想将 sr 函数的结果列表(仅答案)存储在一个变量中,以便我可以将它用于其他目的。但这似乎不起作用。 我试过this,但它在我的情况下不起作用,因为预期的结果是一个 IP 列表,我想存储并稍后显示所有这些。
如果我输入 scapy 并输入上面的命令,它工作正常!
ans,_ = sr(IP(dst='192.168.1.1-7')/ICMP(), timeout=10)
ans.summary( lambda s_r: s_r[1].sprintf("{IP: %IP.src% is alive}"))
给我的结果:
192.168.1.1 is alive
192.168.1.3 is alive
192.168.1.5 is alive
192.168.1.6 is alive
这是我尝试过的(在我的 pycharm 项目中)但它给出了错误 'tuple' object has no attribute 'getlayer'
ips = '192.168.1.1-9'
ans, _ = sr(IP(dst=ips) / ICMP(), timeout=10)
address = ans.getlayer(IP).src
print(address)
ans_ips = [a[1].src for a in ans]