以下功能是IP扫描程序,它返回IP地址和MAC地址的列表。我试图弄清楚如何仅过滤出包含特定供应商的MAC地址。
例如,我试图过滤列表以仅捕获包含“ AA:BB:CC”的IP / MAC。
有人能指出我正确的方向吗?
def scan(ip):
arp_packet = scapy.ARP(pdst=ip)
broadcast_packet = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
arp_broadcast_packet = broadcast_packet/arp_packet
answered_list = scapy.srp(arp_broadcast_packet, timeout=1, verbose=False)[0]
client_list = []
for element in answered_list:
client_dict = {"ip": element[1].psrc, "mac": element[1].hwsrc}
client_list.append(client_dict)
return client_list
答案 0 :(得分:1)
如果要检查字符串是否包含模式,请使用find()
:
pattern = 'AA:BB:CC'
if mac.find( pattern ) != -1 :
pass # found!
如果要检查字符串的开头是否有模式:
pattern = 'AA:BB:CC'
if mac.startswith( pattern ) :
pass # found!