Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 从路由器日志文件中提取时间和IP地址_Logging_Sed_Router_Extraction - Fatal编程技术网

Logging 从路由器日志文件中提取时间和IP地址

Logging 从路由器日志文件中提取时间和IP地址,logging,sed,router,extraction,Logging,Sed,Router,Extraction,我有一个DD-WRT路由器,它正在将日志文件转发到GNOME的系统日志查看器,并且运行良好。我遇到的问题是路由器正在发送更多我希望跟踪的信息: Sep 9 20:41:17 192.168.1.1 kernel: [ 272.160000] ACCEPT IN=br0 OUT=ppp0 MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=192.168.1.5 DST=64.233.160.0 LEN=104 TOS=0x00 PREC=0x0

我有一个DD-WRT路由器,它正在将日志文件转发到GNOME的系统日志查看器,并且运行良好。我遇到的问题是路由器正在发送更多我希望跟踪的信息:

Sep  9 20:41:17 192.168.1.1 kernel: [  272.160000] ACCEPT IN=br0 OUT=ppp0 MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=192.168.1.5 DST=64.233.160.0 LEN=104 TOS=0x00 PREC=0x00 TTL=63 ID=31811 DF PROTO=UDP SPT=42633 DPT=3000 LEN=84
我如何才能将其减少到只包含
日期
时间
接受
SRC=IP
DST=IP

接受
也可以是
删除
拒绝

作为一个实验,我尝试:

sed 's/.*SRC=\([0-9.]\+\).*/\1/' -e 's/.*DST=\([0-9.]\+\).*/\1/' myrouter.log
它所做的只是创建一个长列表,其中包含
SRC IP
,如果
DST IP
,则创建一个长列表。理想情况下,我希望日志查看器能够将它们放在同一行上。

简单方法:

awk '{print $1,$2,$3,$8,$12,$13}' myrouter.log
Sep 9 20:41:17 ACCEPT SRC=192.168.1.5 DST=64.233.160.0

移除标签:

awk '{split($12,a,"=");split($13,b,"=");print $1,$2,$3,$8,a[2],b[2]}' myrouter.log
Sep 9 20:41:17 ACCEPT 192.168.1.5 64.233.160.0
使用-n筛选与此结构不对应的行。Rest是纯模式匹配和分组


如果信息总是在同一个地方,那么在这种情况下,其他工具(特别是AWK)比DST实际上是SRC所在的行更快、更容易使用还有一个行列表,其中SRC不存在,但DST良好,因为您要求sed将行have SRC更改为仅SRC+IP,然后更改新内容(因此,如果内部没有SRC,则不更改),以仅保留DST+IP信息。完美的输出,正是我所寻找的。awk工作得更好。非常感谢。
sed -n 's/^\([a-zA-Z0-9 ]\{6,7\}[0-9:]\{8\} \).* \([ACCEPTDROPJ] \).*\(\([SRCDT]\{3\}=[0-9.]\{7,15\} *\)\{2\}\).*/\1\2\3/p'  YourFile