Parsing 在pcap中搜索电子邮件地址

Parsing 在pcap中搜索电子邮件地址,parsing,smtp,imap,pop3,Parsing,Smtp,Imap,Pop3,我有一个程序的想法,应该搜索相应的标记“邮件从”,“rcpt到”,“到”,“从”的smtp,imap和pop3协议的电子邮件地址。我只对那些标签感兴趣,没有其他的 我使用了ngrep,但我无法编写regexp在其他电子邮件之间搜索电子邮件(如果“to”标记中有多个地址) 我找到的解决方案是使用fopen逐个打开pcap文件,并使用memmem搜索上面提到的标记。然后,在某些情况下,我将解析该字符串以将地址与别名分开。问题是我有很多需要解析的文件,所以我没有时间打开文件、分配内存、读取、搜索和检索

我有一个程序的想法,应该搜索相应的标记“邮件从”,“rcpt到”,“到”,“从”的smtp,imap和pop3协议的电子邮件地址。我只对那些标签感兴趣,没有其他的

我使用了ngrep,但我无法编写regexp在其他电子邮件之间搜索电子邮件(如果“to”标记中有多个地址)

我找到的解决方案是使用fopen逐个打开pcap文件,并使用memmem搜索上面提到的标记。然后,在某些情况下,我将解析该字符串以将地址与别名分开。问题是我有很多需要解析的文件,所以我没有时间打开文件、分配内存、读取、搜索和检索电子邮件地址以及在处理后删除文件

我的问题是,有没有其他的C和C++快速而可靠的方法来获取这些电子邮件地址呢?或者你能帮我写正则表达式来匹配这样的地址吗? 我发现“To”标记后面可能有如下字符串:
给:“一些名字”一些。name@domain.com,其他一些,johndoe@somewhere.in,

您可以通过使用tshark在命令行上实现类似的功能:
tshark-r smtp.pcap-Y'smtp.req.command==“RCPT”'-T fields-e smtp.req.parameter
。也许有一种方法可以链接到WiReSARK库来实现C或C++的……ReasScCa,谢谢,但是问题是这个过滤器不是不区分大小写的,并且不能解决IMAP和POP3对于不区分大小写的匹配的问题,使用诸如“代码>匹配”((i)RCPT)< /C> >。对于IMAP和POP3,请在中查找它们。