我试图了解有人如何攻击我客户的网站。我正在使用^(?!.*404).*194\.226.*$
搜索日志文件,尝试在日志文件中找到一行,其中IP地址以194.226开头的人正在访问未导致404的服务器。
日志文件中的典型行是194.226.xx.xx - - [18/Feb/2014:01:45:10 +0100] "GET /tikiwiki/tiki-graph_formula.php?w=1&h=1&s=1&min=1&max=2&f[]=x.tan.phpinfo()&t=png&title=http://www.google.com/humans.txt? HTTP/1.0" 404 84403 "-" "-" 163 84852
我假设线路末端附近的404是404,因为它跟随HTTP / 1.0响应而未找到。
重要的是194.226 IS在线,但404不在线。从这里的研究RegExp Look for part but exclude If,我想出了上述内容。它要么不工作,要么找不到。我无法知道哪一个,因为日志文件大小为2188MB。
我的问题:正则表达式是否正确?
答案 0 :(得分:1)
是的,正则表达式是正确的,只要您可以确定,404不是IP地址的一部分
答案 1 :(得分:1)
使用此正则表达式:
(?!.*404).*\b194\.226\b.*
此外,您需要使用多行标记,以便与所有这些标记相匹配。
答案 2 :(得分:1)