python - 如何从 sr 函数中获取 scapy IP 地址列表结果到变量中
问题描述
我正在尝试使用 scapy 在一系列 IP 地址中进行 ICMP(主机处于活动状态扫描)。但是我想将 sr 函数的结果列表(仅答案)存储在一个变量中,以便我可以将它用于其他目的。但这似乎不起作用。 我试过 这个,但它在我的情况下不起作用,因为预期的结果是一个 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]
推荐阅读
- android - SMALI HELP - 从资源中获取字符串
- windows - 如何运行 Windows 驱动程序示例(示例 DMFT0)?
- python - 检查列表中的正则表达式时出错(python)
- aws-lambda - DynamoDB 在 Javascript SDK 上使用错误的键和值位置保存 json 对象
- common-table-expression - 将递归 CTE 从 SQL Server 重写为 Clickhouse
- ios - SwiftUI 使 Image 的内容响应属性更新
- azure - Azure 平台(文件服务器升级)导致我的 Web 应用重新启动
- python - tf.linalg.svd 可以在 Keras 的自定义损失函数中使用吗?
- java - JavaFX:我需要将事件处理程序中的值设置为变量
- masstransit - Masstransit:路线单活动和传奇活动之间的区别