Skip to main content
 首页 » 编程设计

Python:在定界符后提取特定数量的字符

2025年05月04日13飞鱼

我有一个包含多行修复语法的文件。文件的每一行如下所示:

13:09:04.210262 2.0 Mb/s 2412 MHz 11g -22dB signal antenna 7 BSSID:00:00:00:12:34:56 (oui Unknown) DA:01:23:45:67:89:78 (oui Unknown) SA:89:12:33:45:b3:11 (oui Unknown) 

我想在每行的两个(':')定界符之后获取一些特定数量的字符(MAC 地址)并将它们保存到字符串中。到目前为止我有这个:

searchfile = open("tcpdump_deauth.txt", "r") 
for line in searchfile: 
  ssid, dest_mac, src_mac = line.split(':') 

它应该给我所有的子字符串,我可以进一步处理这些子字符串以获得 MAC 地址,但这是一种复杂的方法。有人可以指导我如何修复它或者建议更好的方法来完成任务吗?

我还在所有行上显示了“DA”和“SA”,所以如果这是一个更好的主意,我可以尝试使用 Regex。

谢谢

请您参考如下方法:

正则表达式 '(DA:\w{2}:\w{2}:\w{2}:\w{2}:\w{2}:\w{2})' 将返回 MAC地址“DA:01:23:45:67:89:78”。 您可以为 SA 做类似的事情。