1、列出接口
使用 get_if_list()
获取接口列表
from scapy.all import sniff, rdpcap, load_layer, conf, get_if_list ifaces = get_if_list() print(ifaces)
您也可以使用 conf.ifaces
对象来获取接口。在本例中,对象首先显示为列。然后 dev_from_index()
用于访问索引2处的接口。
from scapy.all import sniff, rdpcap, load_layer, conf, get_if_list ifaces = conf.ifaces print(ifaces) print(ifaces.dev_from_index(1))
(1)IPv4路由
这些路线都在 conf.route
. 您可以使用它来显示路由,或获取特定的路由
from scapy.all import sniff, rdpcap, load_layer, conf, get_if_list routes = conf.route print(routes)
获取特定IP的路由: conf.route.route()
将返回 (interface, outgoing_ip, gateway)
from scapy.all import sniff, rdpcap, load_layer, conf, get_if_list routes = conf.route print(routes) print(routes.route("127.0.0.1"))
IPv6路由
与IPv4相同,但 conf.route6
(2)获取路由器IP地址
gw = conf.route.route("0.0.0.0")[2]
(3)获取接口的本地IP/IP
from scapy.all import get_if_addr ip = get_if_addr(conf.iface) # default interface ip = get_if_addr("Intel(R) Wireless-AC 9560 160MHz") print(ip)
(4)获取接口的本地MAC/MAC
from scapy.all import get_if_hwaddr mac = get_if_hwaddr(conf.iface) # default interface mac = get_if_hwaddr("eth0") print(mac)
(5)通过IP获取MAC
from scapy.layers.l2 import getmacbyip mac = getmacbyip("10.0.0.1") print(mac)
2、scapy支持的数据包类型
from scapy.all import ls from scapy.layers.inet import IP # 输出scapy支持的数据包类型 print(ls()) # 使用ls(IP())可以查看IP数据包的参数 print(ls(IP))
(1)构建一个数据包
(2)堆栈层
3、捕获数据包
sniff()函数
可帮助我们捕获所有流量:包括count
,filter
,iface
,lfilter
,prn
,timeout
选项。
原文地址:http://www.cnblogs.com/windyrainy/p/16808036.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性