Python3的字典包含部分字符串?

时间:2019-11-15 05:13:02

标签: python python-3.x list scapy

以下功能是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

1 个答案:

答案 0 :(得分:1)

如果要检查字符串是否包含模式,请使用find()

pattern = 'AA:BB:CC'
if mac.find( pattern ) != -1 :
    pass  # found!

如果要检查字符串的开头是否有模式:

pattern = 'AA:BB:CC'
if mac.startswith( pattern ) :
    pass  # found!