Python 防止scapy打印结果
因此,我在Scapy中有一个SNMP脚本,如下所示:Python 防止scapy打印结果,python,snmp,scapy,Python,Snmp,Scapy,因此,我在Scapy中有一个SNMP脚本,如下所示: for i in range(j, k+1): ip = iprange + str(i) print 'Sending SNMP request to: ' +ip + "\n" p = IP(dst=ip) SNMP(community="public", PDU=SNMPget(id=1416992799, varbindlist=[SNMPvarbind(oid=ASN1_OID("1.3.6.1.2.
for i in range(j, k+1):
ip = iprange + str(i)
print 'Sending SNMP request to: ' +ip + "\n"
p = IP(dst=ip)
SNMP(community="public", PDU=SNMPget(id=1416992799, varbindlist=[SNMPvarbind(oid=ASN1_OID("1.3.6.1.2.1.1.1.0"))]))
pkt = sr1(p, timeout=0.08)
当我点击时,我得到了期望的结果(答案为1):
但是,我只希望Scapy在答案为1时打印结果,而不是在我没有命中(0)时打印结果。可以在Scapy中执行此操作吗?Scapy/sendrecv.py中的第205行读取
if verbose:
print "\nReceived %i packets, got %i answers, remaining %i packets" % (nbrecv+len(ans), len(ans), notans)
因此,没有选项仅在ans>0时打印此内容(请注意,在函数上下文中无法快捷方式打印此内容)。您可以将源代码更改为
if verbose and len(ans)>0:
print "\nReceived %i packets, got %i answers, remaining %i packets" % (nbrecv+len(ans), len(ans), notans)
或者更可取的做法是,更好地解析输出
if verbose and len(ans)>0:
print "\nReceived %i packets, got %i answers, remaining %i packets" % (nbrecv+len(ans), len(ans), notans)