PCAP 文件的正则表达式搜索

问题描述 投票:0回答:2

我们得到了一个 PCAP 文件,我的工作是找到:

主机用户试图访问域名以.top结尾的可疑网站。使用 Python(借助正则表达式)查找易受攻击的网站。

通过在记事本上打开 PCAP 文件并按 Ctrl + F 搜索它,我已经找到了正确的答案:http://p27dokhpz2n7nvgr.1jw2lx.top

但这显然不是作业的目的,因为我必须使用 Python 和正则表达式来返回该网站

到目前为止我尝试过的代码是:

import re

pcapfile = open('CyberSecurity2019.pcap', 'rb')

mypattern = re.compile(rb"\S+\.top\b")

x = mypattern.findall(pcapfile.read())

print("x = ", x)

然而这是它返回的内容:

x =  [b"c('_SS','R','20',0,'/');f=_w.top", b'g_triggerElems!==e&&(g_triggerElems[i].isHotSpotDisabled=!1);v=i+1,r=s[i],a=_ge("sc_hst"+v),a.style.left=r.locx+"%",a.style.top', b't=u.getBoundingClientRect(),o=t.width?Math.abs(t.right-t.left):t.width,a=s(u,"paddingLeft");o=o-(a?parseInt(a):0);v=t.height?Math.abs(t.bottom-t.top', b'n=document.getElementById(keyMap.Notification),t;n&&(n.parentNode.removeChild(n),t=document.getElementById("id_h"),t&&(t.style.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top', b'http://p27dokhpz2n7nvgr.1jw2lx.top', b'p27dokhpz2n7nvgr.1jw2lx.top']

这会持续一段时间。

如果能帮助我走上正轨,我们将不胜感激。

谢谢

python regex python-3.x expression pcap
2个回答
1
投票

由于您要提取的所有链接都以

http
https
开头,您可以使用

rb'https?://\S+?\.top\b'

查看正则表达式演示。请注意,

r
字符串文字前缀定义了一个 raw 字符串文字(因此所有反斜杠都被视为文字反斜杠,而不是 string 转义序列 的一部分)并且
b
在这里是必需的,因为 PCAP 文件是二进制的,因此模式也应该是二进制字符串。

详情

  • https?://
    -
    http://
    https://
  • \S+?
    - 1 个或多个非空白字符
  • \.top
    -
    .top
    子字符串(注意转义点,未转义的点匹配 Python 中除换行字符以外的任何字符
    re
  • \b
    - 单词边界(请注意,
    r
    前缀允许使用单个反斜杠来定义正则表达式转义,如果您不使用
    r
    前缀,则需要将其写为
    \\b

0
投票

希望对您有所帮助!有关更多信息和示例,您可能需要查看此 GitHub 存储库,其中包含使用正则表达式分析 PCAP 文件的各种脚本和实用程序:https://github.com/ftaxats/Pcap-Analyser/

© www.soinside.com 2019 - 2024. All rights reserved.