使用PowerShell分析EPP日志


关键词

使用PowerShell分析EPP日志

摘要

EPP是域名注册局与域名注册商之间通信的接口协议,作为像我们这样的大的域名注册商,这个日志的分析,如果不用工具,那就是要命!

这个PowerShell脚本用于把一个EPP通信日志里面,什么时间做了什么事情,做一个分析统计。大家通过这个案例,可以进一步看看怎么从文本文件中抓取出想要的信息来。抓取出来的信息最终被写入了另外一个文件中。


由于EPP协议本身的复杂性,所以处理过程也比较复杂。

$latestTime = '';
$latestCmd = '';
$latestDomain ='';

EPP是域名注册局与域名注册商之间通信的接口协议,作为像我们这样的大的域名注册商,这个日志的分析,如果不用工具,那就是要命!

这个PowerShell脚本用于把一个EPP通信日志里面,什么时间做了什么事情,做一个分析统计。大家通过这个案例,可以进一步看看怎么从文本文件中抓取出想要的信息来。抓取出来的信息最终被写入了另外一个文件中。


由于EPP协议本身的复杂性,所以处理过程也比较复杂。


$latestTime = '';
$latestCmd = '';
$latestDomain ='';
$file = Get-Content d:\epp-packet.log;
$regTime = "^(?<time>\d{8}\s\d{6}).*write\(\)\s:\sSending.*$";
$regCmd = "^.*<command><(?<cmd>\w+)>.*>(?<domain>[a-z0-9-\.]+)</domain:name>.*$";
foreach($line in $file){
   if($line -match $regTime){
       $Matches.time; #留在这里,以便了解处理进度
       $latestTime = $Matches.time;
       continue;
   }
   if($line -match $regCmd)
   {
       $latestCmd = $Matches.cmd;
       $latestDomain = $Matches.domain;
       
       $xx = "$latestTime`t$latestCmd`t$latestDomain";
       $xx | Out-File -FilePath "d:\epp-anaysis.log" -Encoding "default" -Append
   }
}
Write-Host "compelete!";


具体的内容,在此就不解析了。

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权

本文属于“洪哥笔记”原创文章,转载请注明来源地址:使用PowerShell分析EPP日志:http://www.splaybow.com/post/powershellepp.html

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« PowerShell的一些基本语法 PowerShell与cmd命令混用 »