从记录特定IP的日志中删除各种数据

时间:2016-02-03 19:54:04

标签: sorting sed grep unique

我一直试图削减防火墙日志以获取一系列试图通过特定端口连接的IP,而我目前仍然坚持如何完成此操作。我从下面开始,但是价值65Gb(在一个文件中)。

2015-11-30T08:03:03.830844-07:00 192.x.x.x %ASA-4-733100: [ Scanning] drop rate-1 exceeded. Current burst rate is 13 per second, max configured rate is 10; Current average rate is 19 per second, max configured rate is 5; Cumulative total count is 11881
2015-11-30T08:03:15.886962-07:00 192.x.x.x %ASA-4-405001: Received ARP request collision from 192.x.x.x/x.x.x on interface inside with existing ARP entry 192.x.x.x/x.x.x
2015-11-30T08:03:23.903154-07:00 192.x.x.x %ASA-4-733100: [ Scanning] drop rate-1 exceeded. Current burst rate is 8 per second, max configured rate is 10; Current average rate is 20 per second, max configured rate is 5; Cumulative total count is 12034
2015-11-30T08:03:25.595748-07:00 192.x.x.x %ASA-4-106023: Deny udp src outside:17.155.127.223/16387 dst inside:8.x.x.x/xxx by access-group "outside_access_in" [0x0, 0x0]

最终通过一些grep命令和咳嗽在notepadd ++中找到并替换了古老的文件,将其归结为下面的多个文件中

 17.155.127.223/16387 dst inside:8.x.x.x/xxx 
 17.155.127.223/16387 dst inside:8.x.x.x/xxx 
 17.173.255.223/16387 dst inside:8.x.x.x/xxx 
 17.173.255.223/16387 dst inside:8.x.x.x/xxx 

与上述不完全匹配,但它显示我能够删除时间戳并且仅保留端口/ 16387上的事件现在我被卡住试图删除端口后的所有内容,同时保持它们来自的IP,正在删除" dst:8.xxx/xxxx"

我尝试使用下面的内容,但它不会对我的输出文件进行任何更改。

sed -e "s/16387.*$/-16387/p" FILE > OUTPUTFILE

这是我的第一个问题。

为了解释我认为的一些事情(我对此非常不熟悉)对于Unix命令(语法?)来说是不正常的,"而不是'是因为我在Windows上运行Unix命令并借助 UnxUtls 。至少我认为这就是为什么,尝试使用'但在用#34;

代替之前不会工作

我的第二个问题是尝试查看文件并简单地将唯一行发送到文件。我尝试使用以下命令进行排序但由于某种原因,我通过UnxUtls获得的排序将无法在我的系统上运行,一些临时目录错误,很可能是由于UnxUtls的某些问题引起的。还有另一种方法来挑选出独特的线条吗?

sort FILE | uniq > OUTPUTFILE

为了更好地解释,从

开始
 17.155.127.223/16387
 17.155.127.223/16387
 17.173.255.223/16387
 17.173.255.223/16387

17.155.127.223/16387
17.173.255.223/16387

我搜索和搜索但无法弄清楚最后两部分。虽然我能够完成的大部分内容来自不同的帖子。如果这太长或不易理解,请道歉。

1 个答案:

答案 0 :(得分:0)

在Windows上你可能会有更好的运气。您可以通过以下方式实现这两个目标:

<DataGrid ItemsSource="{Binding DTableDay}" AutoGenerateColumns="False">
  <DataGrid.Columns>
    <DataGridTemplateColumn>
      <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
          <TextBlock Text="{Binding CellValue}">
            <TextBlock.Style>
              <Style TargetType="TextBlock">
                <Style.Triggers>
                  <Trigger Property="Text" Value="1">
                    <Setter Property="Background" Value="Green"/>
                  </Trigger>
                </Style.Triggers>
              </Style>
            </TextBlock.Style>
          </TextBlock>
        </DataTemplate>
      </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
  </DataGrid.Columns>  
</DataGrid>

awk命令将打印第1列。这将通过管道传输到uniq,这将删除重复的行。您还可以使用 ~/tmp $ cat text.txt 17.155.127.223/16387 dst inside:8.x.x.x/xxx 17.155.127.223/16387 dst inside:8.x.x.x/xxx 17.173.255.223/16387 dst inside:8.x.x.x/xxx 17.173.255.223/16387 dst inside:8.x.x.x/xxx $ awk '{print $1}' text.txt | uniq 17.155.127.223/16387 17.173.255.223/16387 命令对其进行排序。