sr()与sr1()的区别及promisc、iface、nofilter参数含义咨询
Scapy中sr()与sr1()的区别及参数解析
两个方法的核心区别
- sr():发送数据包后,会收集所有匹配的响应,返回两个结果集合:一个是包含「发送包+对应响应包」的元组列表,另一个是未收到响应的发送包列表。适合批量发包、需要完整响应数据的场景,比如网段扫描。
- sr1():仅返回第一个收到的有效响应包,一旦拿到响应就停止等待,不会继续收集其他结果。适合单目标单次请求的场景,比如测试单个IP的连通性。
关键参数详解
- promisc:控制网卡是否进入混杂模式。默认网卡只接收目标地址为自身的数据包;开启混杂模式(设为
True)后,网卡会捕获所有经过该接口的数据包,不管目标是不是自己,常用于监听全网流量。 - iface:指定发送/接收数据包的网络接口。当设备有多个网卡(如无线、有线)时,用这个参数可以明确指定使用哪张网卡,避免Scapy自动选择的接口不符合需求。
- nofilter:是否关闭Scapy的响应过滤机制。默认情况下,Scapy只会保留与发送包匹配的响应;设为
True时,会接收所有收到的数据包,不管是否对应你发送的请求,适合需要同时监听无关流量的场景。
内容的提问来源于stack exchange,提问作者Omer
相关产品推荐
相关产品推荐

