导航:首页 > 净水问答 > 包过滤日志实验

包过滤日志实验

发布时间:2023-05-31 04:27:51

❶ Slf4j + Logback 怎么过滤掉第三方包中的日志显示

其实这跟 Slf4J 通用日志框架没什么关系,单单是 Logback 的事,把 Slf4J 扯进来只因它们是对黄金组合。
我们在 log4j 中想要不显示第三方包的非常冗余的日志输出时,只要在 log4j.properties 中写上:
log4j.logger.org.hibernate=ERROR

这样在 hibernate 里的日志级别在 ERROR 以下的 TRACE、DEBUG、WARN 和 INFO 将不被输出,控制台会比较的干净。
Logback 的配置文件是 logback.xml,曾经在里面给 <appender> 加的 <pattern> 是:
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>

logger 名显示 35 字符,类名优先显示全,类全限名超过总长度则取前面若干包名的首字母连接起来,于是产生了像下面那样的日志输出:
7937 [main] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton
7781 [main] DEBUG o.h.loader.entity.EntityLoader - Static select for entity
这在 Log4J 中是未曾见过的。当时还以为日志名就是 o.s.b.f 这样的东西,于是在 logback.xml 中用
<logger name="o.s.b" level="WARN"/>
<logger name="o.h" level="WARN"/>

本文原始链接 http://gloveangels.com/slf4j-logback-filter-logger/, 来自 隔叶黄莺 Unmi Blog
这样的代码来进行封锁,根本就无济于事,大量的虚芹 spring、hibernate 的 DEBUG、INFO 等日志照样输出。这时惦记起 Logback 的 filter 功能来了,配置上:
<filter>
<evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator -->
<expression><![CDATA[
event.getThreadName().contains("Catalina")
|| event.getLoggerName().contains("o.s.b.f")
|| event.getLoggerName().contains("o.h.")
]]></expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>

也是没有效果的。想来乱拆 Logback 与 Log4J 相比不会这么差劲的,再怎么也是出自一人之手,想来思路应是一致的,还是该回到 <logger> 的配置上来。
还是 Google 威武,找到答案了:logback per-logger configuration is not working。原来像 "o.s.b.f"差陪毕 和 "o.h." 这样的东西只是神马浮云,假象而已,它们实际所代表的 logger 名并未变,分别是:
org.springframework.beans.factory.support.DefaultListableBeanFactory
org.hibernate.loader.entity.EntityLoader
所以呢,在 logback.xml 中像 Log4J 一样写上
<logger name="org.hibernate" level="WARN"/>
<logger name="org.springframework" level="WARN"/>

就把 Spring 和 Hibernate 的日志输出稍加过滤了,都是 %logger{35} 中的那个 {35} 惹的祸,不过也靠它多了解了一点东西。如果只写成 %logger 话那时候当然可以很快的解决问题的。

❷ 简述入侵检测常用的四种方法

入侵检测系统所采用的技术可分为特征检测与异常检测两种。

1、特征检测

特征检测(Signature-based detection) 又称Misuse detection ,这一检测假设入侵者活动可以用一种模式来表示,系统的目标是检测主体活动是否符合这些模式。

它可以将已有的入侵方法检查出来,但对新的入侵方法无能为力。其难点在于如何设计模式既能够表达“入侵”现象又不会将正常的活动包含进来。

2、异常检测

异常检测(Anomaly detection) 的假设是入侵者活动异常于正常主体的活动。根据这一理念建立主体正常活动的“活动简档”,将当前主体的活动状况与“活动简档”相比较,当违反其统计规律时,认为该活动可能是“入侵”行为。

异常检测的难题在于如何建立“活动简档”以及如何设计统计算法,从而不把正常的操作作为“入侵”或忽略真正的“入侵”行为。

(2)包过滤日志实验扩展阅读

入侵分类:

1、基于主机

一般主要使用操作系统的审计、跟踪日志作为数据源,某些也会主动与主机系统进行交互以获得不存在于系统日志中的信息以检测入侵。

这种类型的检测系统不需要额外的硬件.对网络流量不敏感,效率高,能准确定位入侵并及时进行反应,但是占用主机资源,依赖于主机的可靠性,所能检测的攻击类型受限。不能检测网络攻击。

2、基于网络

通过被动地监听网络上传输的原始流量,对获取的网络数据进行处理,从中提取有用的信息,再通过与已知攻击特征相匹配或与正常网络行为原型相比较来识别攻击事件。

此类检测系统不依赖操作系统作为检测资源,可应用于不同的操作系统平台;配置简单,不需要任何特殊的审计和登录机制;可检测协议攻击、特定环境的攻击等多种攻击。

但它只能监视经过本网段的活动,无法得到主机系统的实时状态,精确度较差。大部分入侵检测工具都是基于网络的入侵检测系统。

3、分布式

这种入侵检测系统一般为分布式结构,由多个部件组成,在关键主机上采用主机入侵检测,在网络关键节点上采用网络入侵检测,同时分析来自主机系统的审计日志和来自网络的数据流,判断被保护系统是否受到攻击。

❸ 求助网络多媒体技术应用ARP协议分析

ARP协议分析

ARP(AddressResolutionProtocol)地址扮毕绝解析协议数锋用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位)[RFC826]。ARP协议是属于链路层的协议,在以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核(如驱动)必须知道目的端的硬件地址才能发送数据。当然,点对点的连接是不需要ARP协议的。

ARP协议的数据结构:
typedefstructarphdr
{
unsignedshortarp_hrd;/*硬件类型*/
unsignedshortarp_pro;/*协议类型*/
unsignedchararp_hln;/*硬件地址长度*/
unsignedchararp_pln;/*协议地址长度*/
unsignedshortarp_op;/*ARP操作类型*/
unsignedchararp_sha[6];/*发送者的硬件地址*/
unsignedlongarp_spa;/*发送者的协议地址*/
unsignedchararp_tha[6];/*目标的硬件地址*/
unsignedlongarp_tpa;/*目标的协议地址*/
}ARPHDR,*PARPHDR;
为了解释ARP协议的作用,就必须理解数据在网络上的传输过程。这里举一个简单的PING例子。
假设我们的计算机IP地址是192.168.1.1,要执行这个命令:ping192.168.1.2。该命令会通过ICMP协议发送ICMP数据包。该过程需要经过下面的步骤:
1、应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动程序);
2、内核检查是否能够转化该IP地址为MAC地址,也就是在本地的ARP缓存中查看IP-MAC对应表;
3、如果存在该IP-MAC对应关系,那么跳到步骤9;如果不存在该IP-MAC对应关系,那么接续下面的步骤;
4、内核进行ARP广播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类型为REQUEST(1),其中包含有自己的MAC地址;
5、当192.168.1.2主机接收到该ARP请求后,就发送一个ARP的REPLY(2)命令,其中包含自己的MAC地址;
6、本地获得192.168.1.2主机的IP-MAC地址对应关系,并保存到ARP缓存中;
7、内核将把IP转化为MAC地址,然后封装在以太网头结构中,再把数据发送出去;

使用arp-a命令就可以查看本地的ARP缓存内容,所以,执行一个本地的PING命令后,ARP缓存就会存在一个目的IP的记录了。当然,如果你的数据包是发送到不同网段的目的地,那么就一定存在一条网关的IP-MAC地址对应的记录。

知道了ARP协议的作用,就能够很清楚地知道,数据包的向外传输很依靠ARP协议,当然,也就是依赖ARP缓存。要知道,ARP协议的所有操作都是内核自动完成的,同其他的应用程序没有任何关系。同时需要注意的是,ARP协议只使用于本网络。

ARP协议的利用和相关原理介绍。

一、交换网络的嗅探

ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,在上面的假设网络中,B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存,将本地的IP-MAC对应表更换为接收到的数据格式,由于这一切都是A的系统内核自动完成的,A可不知道被伪造了。

ARP欺骗的主要用途就是进行在交换网络中的嗅探。有关交换网络的嗅探不是本文的讨论内容。

二、IP地址冲突

我们知道,如果网络中存在相同IP地址的主机的时候,就会报告出IP地址冲突的警告。这是怎么产生的呢?

比如某主机B规定IP地址为192.168.0.1,如果它处于开机状态,那么其他机器A更
改IP地址为192.168.0.1就会造成IP地址冲突。其原理就是:主机厅姿A在连接网络(或更改IP地址)的时候就会向网络发送ARP包广播自己的IP地址,也就是freearp。如果网络中存在相同IP地址的主机B,那么B就会通过ARP来reply该地址,当A接收到这个reply后,A就会跳出IP地址冲突的警告,当然B也会有警告。

因此用ARP欺骗可以来伪造这个ARPreply,从而使目标一直遭受IP地址冲突警告的困扰。

三、阻止目标的数据包通过网关

比如在一个局域网内通过网关上网,那么连接外部的计算机上的ARP缓存中就存在网关IP-MAC对应记录。如果,该记录被更改,那么该计算机向外发送的数据包总是发送到了错误的网关硬件地址上,这样,该计算机就不能够上网了。

这里也主要是通过ARP欺骗进行的。有两种办法达到这样的目的。

1、向目标发送伪造的ARP应答数据包,其中发送方的IP地址为网关的地址,而MAC地址则为一个伪造的地址。当目标接收到该ARP包,那么就更新自身的ARP缓存。如果该欺骗一直持续下去,那么目标的网关缓存一直是一个被伪造的错误记录。当然,如果有些了解的人查看ARP-a,就知道问题所在了。

2、这种方法非常狠,欺骗网关。向网关发送伪造的ARP应答数据包,其中发送方的IP地址为目标的IP地址,而MAC地址则为一个伪造的地址。这样,网关上的目标ARP记录就是一个错误的,网关发送给目标的数据报都是使用了错误的MAC地址。这种情况下,目标能够发送数据到网关,却不能接收到网关的任何数据。同时,目标自己查看ARP-a却看不出任何问题来。

四、通过ARP检测混杂模式节点

在混杂模式中,网卡进行包过滤不同于普通模式。本来在普通模式下,只有本地地址的数据包或者广播(多播等)才会被网卡提交给系统核心,否则的话,这些数据包就直接被网卡抛弃。现在,混合模式让所有经过的数据包都传递给系统核心,然后被sniffer等程序利用。
通过特殊设计的ARP请求可以用来在一定程度上检测处于混杂模式的节点,比如对网络中的每个节点都发送MAC地址为FF-FF-FF-FF-FF-FE的ARP请求。对于网卡来说这不是一个广播地址(FF-FF-FF-FF-FF-FF),所以处于普通模式的节点就会直接抛弃该数据包,但是多数操作系统核心都认为这是一个广播地址,如果有一般的sniffer程序存在,并设置网卡为混杂模式,那么系统核心就会作出应答,这样就可以判断这些节点是否存在嗅探器了。

可以查看,很多基于ARP的攻击都是通过ARP欺骗实现的。至于ARP欺骗的防范,还是尽可能使用静态的ARP。对于WIN,使用arp-s来进行静态ARP的设置。当然,如果能够完全使用静态的IP+MAC对应,就更好了,因为静态的ARP缓存只是相对的。

当然,可以有一些方法来实现ARP欺骗的检测。设置一个ARP的嗅探器,其中维护着一个本地网络的IP-MAC地址的静态对应表,查看所有经过的ARP数据,并检查其中的IP-MAC对应关系,如果捕获的IP-MAC对应关系和维护的静态对应关系对应不上,那么就表明是一个欺骗的ARP数据包了。

一个ARP数据包发送程序源代码和编译好的EXE程序可以参考ARPSender程序。注意:需要先安装WinPcap。

协议分析六类常见错误
协议分析器是网络管理员库中最强有力的工具之一。它能将难处理、耗时长、让CEO们感到恼火甚至不得不重启所有机器的问题转变为能短时处理、易于在每周例行状态报告中反映的问题,为公司省下大量的时间与金钱。

然而,就像其它任何复杂工具一样,它必须被适当运用才能获得最大的效益。在使用协议分析器诊断网络故障时,应当尽量避免……

错误1分析器误置

正确放置分析器对快速诊断故障具有决定性作用。设想分析器是置于网络中的窗口,犹如建筑物窗口一般,视野的改变依赖于从哪个窗口看出去。从南面窗口望去是看不到建筑物北面高速公路上交通的拥挤状况的。在分析置于网络不当位置的分析器时,跟踪往往要花很长时间。那么,怎样正确放置分析器呢?我们可以举例说明。

以下为几个可能出现的问题及原因分析:

设想A:一台主机,服务器A,主机不能与其它任何主机通信。可能的原因:

1)服务器A没有正确配置;

2)服务器A配置的网卡出错;

3)服务器A所在局域网出了问题;

4)服务器A所在局域网段出错。

设想B:一台主机,服务器B,主机不能与远程网X中的任何一台主机通信;且局域网或其它远程网中的主机无任何故障(这就意味着问题不可能出现在服务器B或服务器B所在局域网段上)。

可能原因:

1)服务器B有关网络X的部分配置错误;

2)服务器B用于连接到网络X的路由器所在网段的连接出了问题;

3)服务器B所在局域网与网络X的一处或多处链接出了问题;

4)网络X用于连接到服务器B所在网络的路由器所在网段出了问题;

5)网络X出了问题。

设想C:一台主机,服务器C,主机不能与局域网中另一主机通信,但与网络中其它主机通信正常(这意味着问题不可能出现在服务器C或服务器C所在局域网段)。

可能的原因:

1)主机C错误配置;

2)主机C网卡出现故障;

3)主机C所在局域网段出了问题。

设想D:一台主机,服务器D,主机不能与一远程主机通信,但与服务器D所在局域网段的其它主机通信正常,到远程网或远程网自身的连接亦无故障。

可能原因:

1)主机D错误配置;

2)主机D网卡出错;

3)主机D所在局域网段出了问题。

这些问题当中个别的不用分析器也可诊断或排除。例如:设想A中的第三种情况,就能通过检查服务器A所在局域网的其它主机决定故障所在;设想D中的第二和第三种情况亦能通过这种方法确定(假设主机D能与局域网中其它主机通信)。

一台服务器或主机的错误配置通过检测很容易被发现。但另外一些问题,像网络或网段中的故障,就需要分析器来诊断。

在以上所有可能的设想中,一开始或许会将分析器置于离最有可能出现问题的主机或是怀疑有问题的网络、网段尽可能近的地方,但是如果未发现有意义的问题,得准备好移动分析器,要知道,在出现故障的位置被确定以前,所做的一切都是建立在猜想基础上的。在以上设想B的第三种情况中,服务器B所在局域网和网络X中都应该有分析器,至少分析器应该能够从一端被移动到另一端。

例如,一次故障中,一台服务器突然停止了工作。人们起初怀疑是站点人员对服务器实施了误操作所致,实际上跟踪器表明,是因为众多主机向服务器发送连接请求信息的同时服务器却没有响应,致使服务器死锁。

在花了几天时间来判断到底服务器出了什么问题后,被告知观察跟踪器,于是请求站点操作员将跟踪器从主机所在局域网(这里指设想B中第三种情况的网络X)移到服务器所在局域网。结果发现访问控制列表没有被正确添加到服务器所在局域网的路由器上,这份错误的访问控制列表过滤了所有来源于客户端主机所在网络的信息。假若当初多一些怀疑的话,就会发现在服务器所在局域网中根本就没见到过连接请求信息。因为没有同时查看网络两端的情况,致使站点很多天不能工作。

怎么知道跟踪器在网络的哪一端起作用呢?在跟踪器中,发自客户端主机的帧信息都具有实客户端所有的源MAC地址,与此同时,目标MAC地址则存放在路由器中。

不幸的是,问题变得越来越复杂,仅仅知道分析器连接于哪个网络还不够。当将一个局域网分解成多个部分时,首要的是去找到空闲Hub端口或同轴电缆的分接头,然而,在网络交换环境下,并不是仅仅将分析器接入交换设备的空闲端口就万事大吉了。

大多数交换设备都具备将特定端口指定为分接头或映像端口的能力,只是所用术语因交换设备制造厂商不同而有别。如果所有来自或发往特定端口的通信同样能发送到映像端口,这时只要将分析器连接到映像端口,所有设置即告完成。

但问题在于有些交换设备不能将两端口之间的通信发送到映像端口。举例说,在双工环境下,作为监控的连接之一部分的两台主机能同时发送信息,交换机也能接收每帧数据并将其传输到链接中的另外端口。但对于映像端口,必须对某一数据帧进行缓冲,如果这样处理了太多帧,缓冲区就会溢出,数据帧就会丢失,跟踪因此变得不可靠。更糟的是,根本就不知道是在跟踪不可靠的线索。

某些交换设备支持内部分析器功能,这类交换机本身能够俘获传向被跟踪对象的数据帧。这种功能部件的可靠性依赖于交换机的缓冲容量。在某些情况下,我们不得不选择映像端口或是内部分析器方式。但只要有可能,最好是将主机之一和分析器连接到Hub,并将Hub挂到交换机上。

为什么这么做呢?这是因为即使确信交换机有足够容量缓存所有数据帧,以至于映像端口或内部分析器不可能丢数据,跟踪仍然是不可靠的。例如,标准以太网中,一个处于交换机有故障端口的RJ45连接器每当交换机向服务器传输数据帧时都会创建交互式会话,交换机将此解释成为一次冲突并停止工作,当尝试16次之后数据帧就会撤消,但数据帧仍被发送到映像端口,因此跟踪器发现了数据帧并显示服务器响应失败。另一种情况是:不合规格的配线导致1%的数据帧破坏。如果将分析器与第一种情况(任何位置的数据帧都能传送)中提到的的主机一起挂到Hub,或者与第二种情况(网络中有被破坏的数据帧)中主机一起挂到Hub,接收交换机的端口会在未将数据帧发往映像端口之前就将它们撤消,跟踪器没有任何错误指示。当然,每当改变一种方式,都得冒一定风险来纠正可能出现的意外问题。如果RJ45连接器出现故障仅仅是因为没有在交换机端口将其固定好,那么只要将连接器重新插入Hub,故障或许也就不存在了,至少问题是得到了解决。

另外需要记住的是,对于交换设备,在其网段内每个端口都是有效的,因此当连接到服务器的交换端口未发现问题时,应将Hub(或分析器)移动到主机或路由器交换端口。

还有,注意不能将Hub挂到双工环境。有些分析器能以双工方式工作,这类分析器有两个以太网口和一个功能模块,功能模块将通信对分为两部分,并分别发送到每一以太网口,之后软件把从每个以太网口接收来的数据结合成单一的跟踪链。如果网络是双工环境,就需要这种分析器。

错误2过多的过滤

过滤功能允许协议分析器忽略某些数据帧,从而为感兴趣的帧腾出更多的俘获缓冲空间。如果能过滤来源于较高协议层的数据,如IP地址和端口号以至更高层数据,则分析器几乎很少需要基于源或目标MAC地址的过滤。然而,实际跟踪中通常出现的问题是过滤太多。

有一个站点出现过这样的故障:服务器与一特定客户端之间的连接出了问题,莫名其妙地断开了,其它客户端都没有任何问题。由于客户端与服务器处在同一子网,一旦发生断开现象,使客户端与服务器恢复连接的唯一办法是重新启动服务器。

这个站点安装了分析器,同时因为数据量大,配置了过滤器,只允许俘获两主机(基于MAC地址)之间的数据帧。前两天中没有发现问题,但在第三天问题出现了:跟踪表明服务器突然停止了发送多路会话和最后一次会话。当从服务器端ping客户端时,跟踪器显示服务器没有发送任何数据帧。站点操作员得出的结论是:TCP栈或操作系统出了问题。

于是请求另一次跟踪,这次没有使用过滤器。一天半以后俘获了另一事件:跟踪清楚表明服务器持续发送数据,而与此同时却再也没有得到应答。经过更深层挖掘,发现服务器数据帧的目标MAC地址突然改变了。

既然目标MAC地址不再与客户端的相匹配,那么第一次未使用过滤器的跟踪就不再俘获到MAC地址,同时表明服务器已停止了工作。另外发现就在地址改变之前,服务器无故收到带有为客户端IP地址配置的新MAC地址的ARP信息包,这导致服务器升级ARP缓存并向错误主机发送数据。

通过ARP数据帧的源MAC地址由无故发送ARP的主机向下跟踪,不知何故,主机居然同时配置了复用于客户端的静态IP地址和DHCP地址。当主机启动时,分配的是静态地址,这与服务器相冲突,于是调用DHCP,正确地址才配置上。

基于这一点可得出这样一个结论:用过滤器看似很有道理,但很多时候问题的根源往往以假象出现在过滤器之外,如果跟踪器没有表明问题的起因,过滤器应当关闭,或至少应当扩展一下,直至跟踪器确实查出原因。仅当所有过滤器都关闭后跟踪器仍无法查出问题起因,才可以得出结论——对网络已无计可施了。

错误3

俘获时帧太短

前面例子中表明,站点操作员使用过滤器是因为网络中数据量过大。分析器仅能俘获大约3分钟时间的数据,这使得站点操作员几乎不可能发现问题的发生并使分析器及时加以阻止以真正找到问题的起因。分析器能够俘获数据帧而没有将它们填入俘获缓冲区的时间长短取决于网络的速度、网络中帧的数量、帧的大小以及俘获缓冲区的大小。

几乎所有分析器都能控制俘获数据帧的大小,这在处理连接问题和不太高协议层问题时显得很有用。在通常情况下,只要俘获数据的第一个64字节也就足够了。因此,如果网络中所有帧都是1024字节而仅有3分钟俘获时间,那么仅俘获64字节将允许有超过30分钟的俘获时间。

错误4

触发器安装不正确

触发器告诉分析器执行某项操作,比如终止俘获。当等待问题发生而又不知道将何时发生时,触发器显得很有用。

安装触发器意味着没有必要随时以手动方式来控制分析器。触发器安装的最大问题往往是没有正确定义,这会大大延长解决问题的时间。

当然,应该详细知道怎样安装触发器,并且,若有可能,在使用之前进行测试。有时可以安装另一台分析器来发送触发数据帧,以确认俘获分析触发器已正确安装。

使用触发器带来的另一问题是,许多分析器允许设置将被预触发的俘获缓冲区的百分比。举例来说,可以指定50%的缓冲区在触发之前俘获,而另外50%的缓冲区在触发之后俘获。预触发的百分比通常是0、25、50、75或100。

如果预触发值设置不当,就有可能俘获不到足够的相关数据帧来诊断问题所在。预触发值有可能被错误设置是因为其默认设置对现行问题往往不适用:也许是因为未将针对前一问题的设置升级,也许是因为粗心的鼠标操作或错误按键。无论何种原因,一定要确认触发器已正确安装。

那么怎样来设置呢?通常是将预触发百分比设为100%,以知道是什么原因导致触发器关闭。

当然,只有当触发器在触发某事件时,它才处于关闭状态。过去使用过特殊的触发程序,它能测试状态,然后发送信息包,分析器可将此信息包用作触发器。测试状态可以是日志文件中的错误信息,或是上例中无法创建连接的情况。一般整个程序也就一百多行或稍长一些。

错误5

日期/时间设置不正确

没有正确设置分析器上的日期/时间看似一件小事,很多时候可能也确实是这样。然而,当处理广域网络中的问题时,有时同时运行两台分析器,网络每端一台,则正确设置日期/时间是相当有用的。

如果将两台分析器时钟设置相同,调整跟踪会变得更为容易。假定在一个例子中,通过发现通用帧并比较时间,会发现其中一台用了4小时37分,比另一台提前了15.7891秒,如果时钟设置同步误差在1到2秒,时间差距计算也就容易多了。

另外,如果需要费劲地随主机中的事件调整跟踪,由于基于时间包的同步是不可选的,则设置相同的日期/时间绝对具有实质意义。

错误6不理解协议

很多分析器具有“专家分析”功能,指的是它们能保持对信息的追踪,像序列号、时间信息、显示重传信息、冻结窗口、无应答状态等等。这类分析相当有用,但也有可能造成误导,尤其在分析器没有正确报错时。

举个例子,有一种情况:从一远程位置发来的远程登录会话无法建立,而发自局域工作站的远程登录会话却没有问题。于是站点操作人员在远程登录服务器所在的局域网挂一分析器,跟踪器表明从远程主机到远程登录服务器的数据帧没有报错;于是他们得出结论是操作系统故障。

另一位操作人员查看跟踪器发现,局域端远程登录会话连接到端口2323,而远程会话连接到端口23。另外,远程登录服务器响应远程连接请求的信息包包含了RST标志设置。

在这里,站点操作人员没有仔细查看TCP细节,因此没有意识到不同端口号和RST包的重要性,他们依赖来源于分析器的诊断信息,既然远程登录服务器的端口23没有安装,凭感觉猜想也认为是操作系统出了问题。然而,若站点工作人员了解TCP和远程登录,他们就会立即发现问题所在并能在5分钟内找到一个好的解决办法。

事实上是,他们等半天时间来安装跟踪器,结果失去了远程网上数目相当可观的客户。

❹ 什么是包过滤技术其特点是什么

包过滤(Packet
Filtering)技术:是基于协议特定的标准,路由器在其端口能够区分包和限制包的技术。
包过滤技术的特点:对小型的、不太复杂的站点包过滤较容易实现。但是他们很少有或没有日志记录能力,
所以网络管理员很难确认系统是否正在被入侵或已经被入侵了。这种防火墙的最大缺陷是依赖一个单一的部件来保护系统。

❺ 迪普FW将包过滤日志发送给UMC,UMC不显示包过滤日志

FW日志发送格式需选择为流日志格式。包过滤日志、会话日志发送给UMC,格式需选择“流日志”。

❻ 什么是过虑包技术

楼主说的是不是包过滤技术
包过滤技术

包过滤技术(IP Filtering or packet filtering) 的原理在于监视并过滤网络上流入流出的IP包,拒绝发送可疑的包。基于协议特定的标准,路由器在其端口能够区分包和限制包的能力叫包过滤(Packet Filtering)。由于Internet 与Intranet 的连接多数都要使用路由器,所以Router成为内外通信的必经端口,Router的厂商在Router上加入IP 过滤 功能,过滤路由器也可以称作包过滤路由器或筛选路由器(Packet Filter Router)。防火墙常常就是这样一个具备包过滤功能的简单路由器,这种Firewall应该是足够安全的,但前提是配置合理。然而一个包过滤规则是否完全严密及必要是很难判定的,因而在安全要求较高的场合,通常还配合使用其它的技术来加强安全性。

常用的优秀的个人防火墙有Norman Personal Firewall、天网防火墙等。

路由器逐一审查数据包以判定它是否与其它包过滤规则相匹配。每个包有两个部分:数据部分和包头。过滤规则以用于IP顺行处理的包头信息为基础,不理会包内的正文信息内容。包头信息包括:IP 源地址、IP目的地址、封装协议(TCP、UDP、或IP Tunnel)、TCP/UDP源端口、ICMP包类型、包输入接口和包输出接口。如果找到一个匹配,且规则允许这包,这一包则根据路由表中的信息前行。如果找到一个匹配,且规则拒绝此包,这一包则被舍弃。如果无匹配规则,一个用户配置的缺省参数将决定此包是前行还是被舍弃。

包过滤规则允许Router取舍以一个特殊服务为基础的信息流,因为大多数服务检测器驻留于众所周知的TCP/UDP端口。例如,Telnet Service 为TCP port 23端口等待远程连接,而SMTP Service为TCP Port 25端口等待输入连接。如要封锁输入Telnet、SMTP的连接,则Router舍弃端口值为23、25的所有的数据包。

表9.1 一些常用网络服务和使用的端口

服务名称
端口号
协议
说明

ftp-data
20
tcp
FTP数据

ftp
21
tcp
FTP控制

telnet
23
tcp
如BBS

smtp
25
tcp
发email用

time
37
tcp
timserver

time
37
udp
timserver

domain
53
tcp
DNS

domain
53
udp
DNS

tftp
69
udp

gopher
70
tcp
gopher查询

http
80
tcp
www

pop3
110
tcp
收email用

nntp
119
tcp
新闻组,usernet

netbios-ns
137
tcp
NETBIOS 名称服务

netbios-ns
137
udp
NETBIOS 名称服务

netbios-dgm
138
udp
NETBIOS 数据报服务

netbios-ssn
139
tcp
NETBIOS Session服务

snmp
161
udp
SNMP

snmptrap
162
udp
SNMP trap

irc
194
tcp
IRC网络聊天服务

ldap
389
tcp
轻型目录服务协议

https
443
tcp
SSL加密

https
443
udp

典型的过滤规则有以下几种:允许特定名单内的内部主机进行Telnet输入对话、只允许特定名单内的内部主机进行FTP输入对话、只允许所有Telnet 输出对话、只允许所有FTP 输出对话、拒绝来自一些特定外部网络的所有输入信息。

有些类型的攻击很难用基本包头信息加以鉴别,因为这些独立于服务。一些Router可以用来防止这类攻击,但过滤规则需要增加一些信息,而这些信息只有通过以下方式才能获悉:研究Router选择表、检查特定的IP选项、校验特殊的片段偏移等。这类攻击有以下几种:

源IP地址欺骗攻击:入侵者从伪装成源自一台内部主机的一个外部地点传送一些信息包;这些信息包似乎像包含了一个内部系统的源IP地址。如果这些信息包到达Router的外部接口,则舍弃每个含有这个源IP地址的信息包,就可以挫败这种源欺骗攻击。

源路由攻击:源站指定了一个信息包穿越Internet时应采取的路径,这类攻击企图绕过安全措施,并使信息包沿一条意外(疏漏)的路径到达目的地。可以通过舍弃所有包含这类源路由选项的信息包方式,来挫败这类攻击。

残片攻击:入侵者利用IP残片特性生成一个极小的片断并将TCP报头信息肢解成一个分离的信息包片断。舍弃所有协议类型为TCP、IP片断偏移值等于1的信息包,即可挫败残片的攻击。

从以上可看出定义一个完善的安全过滤规则是非常重要的。通常,过滤规则以表格的形式表示,其中包括以某种次序排列的条件和动作序列。每当收到一个包时,则按照从前至后的顺序与表格中每行的条件比较,直到满足某一行的条件,然后执行相应的动作(转发或舍弃)。有些数据包过滤在实现时,“动作”这一项还询问,若包被丢弃是否要通知发送者(通过发ICMP信息),并能以管理员指定的顺序进行条件比较,直至找到满足的条件。

对流进和流出网络的数据进行过滤可以提供一种高层的保护。建议过滤规则如下:

(1)任何进入内部网络的数据包不能把网络内部的地址作为源地址。

(2)任何进入内部网络的数据包必须把网络内部的地址作为目的地址。

(3)任何离开内部网络的数据包必须把网络内部的地址作为源地址。

(4)任何离开内部网络的数据包不能把网络内部的地址作为目的地址。

(5)任何进入或离开内部网络的数据包不能把一个私有地址(private address)或在RFC1918中 127.0.0.0/8.)的地址作为源或目的地址。

(6)阻塞任意源路由包或任何设置了IP选项的包。

(7)保留、DHCP自动配置和多播地址也需要被阻塞。0.0.0.0/8 、169.254.0.0/16 、192.0.2.0/24 、224.0.0.0/4 、240.0.0.0/4。

包过滤路由器的优点:

(1)一个过滤路由器能协助保护整个网络。绝大多数Internet防火墙系统只用一个包过滤路由器;

(2)过滤路由器速度快、效率高。执行包过滤所用的时间很少或几乎不需要什么时间,由于过滤路由器只检查报头相应的字段,一般不查看数据报的内容,而且某些核心部分是由专用硬件实现的,如果通信负载适中且定义的过滤很少的话,则对路由器性能没有多大影响;

(3)包过滤路由器对终端用户和应用程序是透明的。当数据包过滤路由器决定让数据包通过时,它与普通路由器没什么区别,甚至用户没有认识到它的存在,因此不需要专门的用户培训或在每主机上设置特别的软件。

包过滤路由器的局限性:

(1)定义包过滤器可能是一项复杂的工作。因为网管员需要详细地了解Internet各种服务、包头格式和他们在希望每个域查找的特定的值。如果必须支持复杂的过滤要求的,则过滤规则集可能会变得很长很复杂,并且没有什么工具可以用来验证过滤规则的正确性。

(2)路由器信息包的吞吐量随过滤器数量的增加而减少。路由器被优化用来从每个包中提取目的IP地址、查找一个相对简单的路由表,而后将信息包顺向运行到适当转发接口。如果过滤可执行,路由器还必须对每个包执行所有过滤规则。这可能消耗CPU的资源,并影响一个完全饱和的系统性能。

(3)不能彻底防止地址欺骗。大多数包过滤路由器都是基于源IP地址、目的IP地址而进行过滤的,而IP地址的伪造是很容易、很普遍的。

(4)一些应用协议不适合于数据包过滤。即使是完美的数据包过滤,也会发现一些协议不很适合于经由数据包过滤安全保护。如RPC、X- Window和FTP。而且服务代理和HTTP的链接,大大削弱了基于源地址和源端口的过滤功能。

(5)正常的数据包过滤路由器无法执行某些安全策略。例如,数据包说它们来自什么主机,而不是什么用户,因此,我们不能强行限制特殊的用户。同样地,数据包说它到什么端口,而不是到什么应用程序,当我们通过端口号对高级协议强行限制时,不希望在端口上有别的指定协议之外的协议,而不怀好意的知情者能够很容易地破坏这种控制。

(6)一些包过滤路由器不提供任何日志能力,直到闯入发生后,危险的封包才可能检测出来。它可以阻止非法用户进入内部网络,但也不会告诉我们究竟都有谁来过,或者谁从内部进入了外部网络,

与图1封装过程相反,在网络连接的
获取数据就由下而上依次把包头剥离。
另一边(接收方)的工作是解包。即在另一边,为了

在数据包过滤系统看来
种将被包过滤路由器检查的
,包的最重要信息是各层依次加
包的包头内容。
上的包头。在下文中将主要介绍各

二、 数据包过滤是怎样工作的

包过滤技术可以允许或不允许某些包在网络上传递,它依据以下的根据:
(1)将包的目的地址作为判断依据;
(2)将包的源地址作为判断依据;
(3)将包的传送协议作为判断依据。
大多数包过滤系统判断是否传送包时
让我们进行类似以下情况的操作:
都不关心包的具体内容。作为防火墙包过滤系统只能

(1)不允许任何用户从外部网用Telnet登录;
(2)允许任何用户使用SMTP往内部网发电子邮件;
(3)只允许某台机器通过NNTP往内部网发新闻。
但包过滤不能允许我们进行如下操作:
(1)允许某个用户从外部网用Telnet登录而不允许其它用户进行这种操作;
(2)允许用户传送一些文件而不允许用户传送其它文件。
数据包过滤系统不能识
的文件信息。包过滤系统的
为例,假定不让客户使用Te
现有的条件下可以作到,但
其它用户就永远不在重新安
行设置,也就无所谓机器中
别数据包中的用户信息。同样数
主要特点是让用户在一台机器上
lnet而将网络中现有机器上的Te
是不能保证在网络中新增机器时
装Telnet服务。如果有了包过滤
的Telnet服务是否存在的问题了
据包过滤系统也不能识别数据包中
提供对整个网络的保护。以Telnet
lnet服务关闭,作为系统管理员在
,新机器的Telnet服务也被关闭或
系统,由于只要在包过滤中对此进


路由器为所有用户进出
络中的特定位置的过滤路由
内部邮件的包——就是那种
常被作为地址伪装入侵的一
滤路由器来实现我们设计的
在这种位置上的包过滤路由
网还是来自于外部网。
网络的数据流提供了一个有用的
器来提供。比如,我们考虑这样
看起来好象来自于内部主机而其
部分。入侵者总是用这种包把他
安全规则,唯一的方法是通过参
器才能通过查看包的源地址,从

阻塞点。而对有关的保护只能由网
的安全规则,让网络拒绝任何含有
实是来自于外部网的包,这种包经
们伪装成来自于内部网。要用包过
数网络上的包过滤路由器。只有处
而辨认出这个包到底是来自于内部

三、 包过滤的优缺点

1.包过滤的优点
包过滤方式有许多优点
就可保护整个网络。如果站
这台路由器上设定合适的包
,而其主要优点之一是仅用一个
点与因特网间只有一台路由器,
过滤,我们的站点就可以获得很
放置在战略要津上的包过滤路由器
那么不管站点规模有多大,只要在
好的网络安全保护。

包过滤不需要用户软件的支撑,也不
何培训。当包过滤路由器允许包通过时,
甚至感觉不到包过滤功能的存在,只有在
器的不同。包过滤工作对用户来讲是透明
下完成包过滤。
要求对客户机做特别的设置,也没有必要对用户做任
它看起来与普通的路由器没有任何区别。此时,用户
有些包在禁入和禁出时,用户才认识到它与普通路由
的。这种透明就是可在不要求用户作任何操作的前提

包过滤产品比较容易获得。在市场上
从网上免费下载的都提供了包过滤功能。
。Drawbrige、KralBrige以及Screened也

有许多硬件和软件的路由器产品不管是商业产品还是
比如,Cisco公司的路由器产品就包含有包过滤功能
都具有包过滤功能,而且还能从Internet上免费下载

2. 包过滤的缺点
尽管包过滤系统有许多优点,但是它仍有缺点和局限性:
1) 在机器中配置包过滤规则比较困难;
2) 对包过滤规则设置的测试也很麻烦;
3) 许多产品的包过滤

功能有这样或那样的局限性,要

找一个比较完整的包过滤产品很难

包过滤系统本身就存有
系统的安全性的影响。因为
些平常应该拒绝的包也能进
某些缺陷,这些缺陷对系统的安
代理服务的缺陷仅仅会使数据无
出网络,这对系统的安全性是一
全性的影响要大大超过代理服务对
法传送,而包过滤的缺陷会使得一
个巨大的威胁。

即使在系统中安装了比较完整的包过
太合适。比如,对Berkeley的“r"命令(
,用包过滤系统就不太合适。有些安全规
来自于哪台主机的信息而无来自于哪个用
滤系统,我们也会发现对有些协议使用包过滤方式不
rcp、rsh、rlogin)和类似于NFS和NIS/YS协议的RPC
则是难以用包过滤规则来实现的。比如,在包中只有
户的信息。因此,若要过滤用户就不能使用包过滤。

❼ 包过滤防火墙

1.1 包过滤防火墙的一般概念
1.1.1 什么是包过滤防火墙
包过滤防火墙是用一个软件查看所流经的数据包的包头(header),由此决定整个包的命运。它可能会决定丢弃(DROP)这个包,可能会接受(ACCEPT)这个包(让这个包通过),也可能执行其它更复杂的动作。
在Linux系统下,包过滤功能是内建于核心的(作为一个核心模块,或者直接内建),同时还有一些可以运用于数据包之上的技巧,不过最常用的依然是查看包头以决定包的命运。
包过滤防火墙将对每一个接收到的包做出允许或拒绝的决定。具体地讲,它针对每一个数据报的报头,按照包过滤规则进行判定,与规则相匹配的包依据路由信息继续转发,否则就丢弃。包过滤是在IP层实现的,包过滤根据数据包的源IP地址、目的IP地址、协议类型(TCP包、UDP包、ICMP包)、源端口、目的端口等报头信息及数据包传输方向等信息来判断是否允许数据包通过。
包过滤也包括与服务相关的过滤,这是指基于特定的服务进行包过滤,由于绝大多数服务的监听都驻留在特定TCP/UDP端口,因此,为阻断所有进入特定服务的链接,防火墙只需将所有包含特定TCP/UDP目的端口的包丢弃即可。
1.1.2 包过滤防火墙的工作层次
包过滤是一种内置于Linux内核路由功能之上的防火墙类型,其防火墙工作在网络层。
1.1.3 包过滤防火墙的工作原理
(1)使用过滤器。数据包过滤用在内部主机和外部主机之间, 过滤系统是一台路由器或是一台主机。过滤系统根据过滤规则来决定是否让数据包通过。用于过滤数据包的路由器被称为过滤路由器。
数据包过滤是通过对数据包的IP头和TCP头或UDP头的检查来实现的,主要信息有:
* IP源地址
* IP目标地址
* 协议(TCP包、UDP包和ICMP包)
* TCP或UDP包的源端口
* TCP或UDP包的目标端口
* ICMP消息类型
* TCP包头中的ACK位
* 数据包到达的端口
* 数据包出去的端口
在TCP/IP中,存在着一些标准的服务端口号,例如,HTTP的端口号为80。通过屏蔽特定的端口可以禁止特定的服务。包过滤系统可以阻塞内部主机和外部主机或另外一个网络之间的连接,例如,可以阻塞一些被视为是有敌意的或不可信的主机或网络连接到内部网络中。
(2)过滤器的实现。数据包过滤一般使用过滤路由器来实现,这种路由器与普通的路由器有所不同。
普通的路由器只检查数据包的目标地址,并选择一个达到目的地址的最佳路径。它处理数据包是以目标地址为基础的,存在着两种可能性:若路由器可以找到一个路径到达目标地址则发送出去;若路由器不知道如何发送数据包则通知数据包的发送者“数据包不可达”。
过滤路由器会更加仔细地检查数据包,除了决定是否有到达目标地址的路径外,还要决定是否应该发送数据包。“应该与否”是由路由器的过滤策略决定并强行执行的。
路由器的过滤策略主要有:
* 拒绝来自某主机或某网段的所有连接。
* 允许来自某主机或某网段的所有连接。
* 拒绝来自某主机或某网段的指定端口的连接。
* 允许来自某主机或某网段的指定端口的连接。
* 拒绝本地主机或本地网络与其它主机或其它网络的所有连接。
* 允许本地主机或本地网络与其它主机或其它网络的所有连接。
* 拒绝本地主机或本地网络与其它主机或其它网络的指定端口的连接。
* 允许本地主机或本地网络与其它主机或其它网络的指定端口的连接。
1.1.4 包过滤器操作的基本过程
下面做个简单的叙述:
(1)包过滤规则必须被包过滤设备端口存储起来。
(2)当包到达端口时,对包报头进行语法分析。大多数包过滤设备只检查IP、TCP、或UDP报头中的字段。
(3)包过滤规则以特殊的方式存储。应用于包的规则的顺序与包过滤器规则存储顺序必须相同。
(4)若一条规则阻止包传输或接收,则此包便不被允许。
(5)若一条规则允许包传输或接收,则此包便可以被继续处理。
(6)若包不满足任何一条规则,则此包便被阻塞。
1.1.5 包过滤技术的优缺点
(1)优点:
→对于一个小型的、不太复杂的站点,包过滤比较容易实现。
→因为过滤路由器工作在IP层和TCP层,所以处理包的速度比代理服务器快。
→过滤路由器为用户提供了一种透明的服务,用户不需要改变客户端的任何应用程序,也不需要用户学习任何新的东西。因为过滤路由器工作在IP层和TCP层,而IP层和TCP层与应用层的问题毫不相关。所以,过滤路由器有时也被称为“包过滤网关”或“透明网关”,之所被称为网关,是因为包过滤路由器和传统路由器不同,它涉及到了传输层。
→过滤路由器在价格上一般比代理服务器便宜。
(2)缺点:
→一些包过滤网关不支持有效的用户认证。
→规则表很快会变得很大而且复杂,规则很难测试。随着表的增大和复杂性的增加,规则结构出现漏洞的可能 性也会增加。
→这种防火墙最大的缺陷是它依赖一个单一的部件来保护系统。如果这个部件出现了问题,会使得网络大门敞开,而用户其至可能还不知道。
→在一般情况下,如果外部用户被允许访问内部主机,则它就可以访问内部网上的任何主机。
→包过滤防火墙只能阻止一种类型的IP欺骗,即外部主机伪装内部主机的IP,对于外部主机伪装外部主机的IP欺骗却不可能阻止,而且它不能防止DNS欺骗。
虽然,包过滤防火墙有如上所述的缺点,但是在管理良好的小规模网络上,它能够正常的发挥其作用。一般情况下,人们不单独使用包过滤网关,而是将它和其他设备(如堡垒主机等)联合使用。
包过滤的工作是通过查看数据包的源地址、目的地址或端口来实现的,一般来说,它不保持前后连接信息,过滤决定是根据 当前数据包的内容来做的。管理员可以做一个可接受机和服务的列表,以及一个不可接受机和服务的列表。在主机和网络一级,利用数据包过滤很容易实现允许或禁止访问。
由此不难看出这个层次的防火墙的优点和弱点,由于防火墙只是工作在OSI的第三层(网络层)和第四层(传输层),因此包过滤的防火墙的一个非常明显的优势就是速度,这是因为防火墙只是去检查数据报的报头,而对数据报所携带的内容没有任何形势的检查,因此速度非常快。与此同时,这种防火墙的缺点也是显而易见的,比较关键的几点如下所述。
(1)由于无法对数据报的内容进行核查,一次无法过滤或审核数据报的内容
体现这一问题的一个很简单的例子就是:对某个端口的开放意味着相应端口对应的服务所能够提供的全部功能都被开放,即使通过防火墙的数据报有攻击性,也无法进行控制和阻断。例如在一个简单的Web服务器,而包过滤的防火墙无法对数据报内容进行核查。因此,未打相应补丁的提供Web服务的系统,及时在防火墙的屏蔽之后,也会被攻击着轻易获取超级用户的权限。
(2)由于此种类型的防火墙工作在较低层次,防火墙本身所能接触道德信息较少,所以它无法提供描述细致事件的日志系统。
此类防火墙生成的日志常常只是包括数据报捕获的时间、网络层的IP地址、传输层的端口等非常原始的信息。至于这个数据报内容是什么,防火墙不会理会,而这对安全管理员而言恰恰是很关键的。因为及时一个非常优秀的系统管理员,一旦陷入大量的通过/屏蔽的原始数据包信息中,往往也是难以理清头绪,这在发生安全事件时给管理员的安全审计带来很大的困难。
(3)所有可能用到的端口(尤其是大于1024的端口)都必须开放,对外界暴露,从而极大地增加了被攻击的可能性
通常对于网络上所有服务所需要的数据包进出防火墙的二端口都要仔细考虑,否则会产生意想不到的情况。然而我们知道,当被防火墙保护的设备与外界通信时,绝大多数应用要求发出请求的系统本身提供一个端口,用来接收外界返回的数据包,而且这个端口一般是在1024到65536之间不确定的,如果不开发那个这些端口,通信将无法完成,这样就需要开发那个1024以上的全部端口,允许这些端口的数据包进出。而这就带来非常大的安全隐患。例如:用户网中有一台UNIX服务器,对内部用户开放了RPC服务,而这个服务是共做在高端口的,那么这台服务器非常容易遭到基于RPC应用的攻击。
(4)如果网络结构比较复杂,那么对管理员而言配置访问控制规则将非常困难
当网络发展到一定规模时,在路由器上配置访问控制规则将会非常繁琐,在一个规则甚至一个地址处出现错误都有可能导致整个访问控制列表无法正常使用。

❽ 急!!!利用 iptables 实现 linux 防火墙功能有关问题

自己看:
什么是Iptables?

iptables 是建立在 netfilter 架构基础上的一个包过滤管理工具,最主要的作用是用来做防火墙或透明代理。Iptables 从 ipchains 发展而来,它的功能更为强大。Iptables 提供以下三种功能:包过滤、NAT(网络地址转换)和通用的 pre-route packet mangling。包过滤:用来过滤包,但是不修改包的内容。Iptables 在包过滤方面相对于 ipchians 的主要优点是速度更快,使用更方便。NAT:NAT 可以分为源地址 NAT 和目的地址 NAT。

Iptables 可以追加、插入或删除包过滤规则。实际上真正执行这些过虑规则的是 netfilter 及其相关模块(如 iptables 模块和 nat 模块)。Netfilter 是 Linux 核心中一个通用架构,它提供了一系列的 “表”(tables),每个表由若干 “链”(chains)组成,而每条链中可以有一条或数条 “规则”(rule)组成。

系统缺省的表为 “filter”,该表中包含了 INPUT、FORWARD 和 OUTPUT 3 个链。

每一条链中可以有一条或数条规则,每一条规则都是这样定义的:如果数据包头符合这样的条件,就这样处理这个数据包。当一个数据包到达一个链时,系统就会从第一条规则开始检查,看是否符合该规则所定义的条件: 如果满足,系统将根据该条规则所定义的方法处理该数据包;如果不满足则继续检查下一条规则。最后,如果该数据包不符合该链中任一条规则的话,系统就会根据该链预先定义的策略来处理该数据包。

? table,chain,rule

iptables 可以操纵3 个表:filter 表,nat 表,mangle 表。

NAT 和一般的 mangle 用 -t 参数指定要操作哪个表。filter 是默认的表,如果没有 -t 参数,就默认对 filter 表操作。

Rule 规则:过滤规则,端口转发规则等,例如:禁止任何机器 ping 我们的服务器,可以在服务器上设置一条规则:

iptables -A INPUT -s ! 127.0.0.1 -p icmp -j DROP

从 –s 开始即是一条规则,-j 前面是规则的条件,-j 开始是规则的行为(目的)。整条命令解释为,在filter 表中的 INPUT 规则链中插入一条规则,所有源地址不为 127.0.0.1 的 icmp 包都被抛弃。

Chain 规则链:由一系列规则组成,每个包顺序经过 chain 中的每一条规则。chain 又分为系统 chain和用户创建的 chain。下面先叙述系统 chain。

filter 表的系统 chain: INPUT,FORWAD,OUTPUT

nat 表的系统 chain: PREROUTING,POSTROUTING,OUTPUT

mangle 表的系统 chain: PREROUTING,OUTPUT

每条系统 chain 在确定的位置被检查。比如在包过滤中,所有的目的地址为本地的包,则会进入INPUT 规则链,而从本地出去的包会进入 OUTPUT 规则链。

所有的 table 和 chain 开机时都为空,设置 iptables 的方法就是在合适的 table 和系统 chain 中添相应的规则。

--------------------------------------------------------------

IPTABLES 语法:

表: iptables从其使用的三个表(filter、nat、mangle)而得名, 对包过滤只使用 filter 表, filter还是默认表,无需显示说明.

操作命令: 即添加、删除、更新等。

链:对于包过滤可以针对filter表中的INPUT、OUTPUT、FORWARD链,也可以操作用户自定义的链。

规则匹配器:可以指定各种规则匹配,如IP地址、端口、包类型等。

目标动作:当规则匹配一个包时,真正要执行的任务,常用的有:

ACCEPT 允许包通过

DROP 丢弃包

一些扩展的目标还有:

REJECT 拒绝包,丢弃包同时给发送者发送没有接受的通知

LOG 包有关信息记录到日志

TOS 改写包的TOS值

为使FORWARD规则能够生效,可使用下面2种方法的某种:

[root@rhlinux root]# vi /proc/sys/net/ipv4/ip_forward
[root@rhlinux root]# echo "1" > /proc/sys/net/ipv4/ip_forward

[root@rhlinux root]# vi /etc/sysconfig/network
[root@rhlinux root]# echo "FORWARD_IPV4=true" > /etc/sysconfig/network

--------------------------------------------------------

iptables语法可以简化为下面的形式:

iptables [-t table] CMD [chain] [rule-matcher] [-j target]

--------------------------------------------------------

常用操作命令:

-A 或 -append 在所选链尾加入一条或多条规则

-D 或 -delete 在所选链尾部删除一条或者多条规则

-R 或 -replace 在所选链中替换一条匹配规则

-I 或 -insert 以给出的规则号在所选链中插入一条或者多条规则. 如果规则号为1,即在链头部.

-L 或 -list 列出指定链中的所有规则,如果没有指定链,将列出链中的所有规则.

-F 或 -flush 清除指定链和表中的所由规则, 假如不指定链,那么所有链都将被清空.

-N 或 -new-chain 以指定名创建一条新的用户自定义链,不能与已有链名相同.

-X 或 -delete-chain 删除指定的用户定义帘,必需保证链中的规则都不在使用时才能删除,若没有指定链,则删除所有用户链.

-P 或 -policy 为永久帘指定默认规则(内置链策略),用户定义帘没有缺省规则,缺省规则也使规则链中的最后一条规则,用-L显示时它在第一行显示.

-C 或 -check 检查给定的包是否与指定链的规则相匹配.

-Z 或 -zero 将指定帘中所由的规则包字节(BYTE)计数器清零.

-h 显示帮助信息.

-------------------------------------------------------------

常用匹配规则器:

-p , [!] protocol 指出要匹配的协议,可以是tcp, udp, icmp, all, 前缀!为逻辑非,表示除该协议外的所有协议.

-s [!] address[/mask] 指定源地址或者地址范围.

-sport [!] port[:port] 指定源端口号或范围,可以用端口号也可以用/ETC/SERVICES文件中的名子.

-d [!] address[/mask] 指定目的地址或者地址范围.

-dport [!] port[:port] 指定目的端口号或范围,可以用端口号也可以用/ETC/SERVICES文件中的名子.

-icmp-type [!] typename 指定匹配规则的ICMP信息类型(可以使用 iptables -p icmp -h 查看有效的ICMP类型名)

-i [!] interface name[+] 匹配单独或某种类型的接口,此参数忽略时,默认符合所有接口,接口可以使用"!"来匹配捕食指定接口来的包.参数interface是接口名,如 eth0, eht1, ppp0等,指定一个目前不存在的接口是完全合法的,规则直到接口工作时才起作用,折中指定对于PPP等类似连接是非常有用的."+"表示匹配所有此类型接口.该选项只针对于INPUT,FORWARD和PREROUTING链是合法的.

-o [!] interface name[+] 匹配规则的对外网络接口,该选项只针对于OUTPUT,FORWARD,POSTROUTING链是合法的.

[!] --syn 仅仅匹配设置了SYN位, 清除了ACK, FIN位的TCP包. 这些包表示请求初始化的TCP连接.阻止从接口来的这样的包将会阻止外来的TCP连接请求.但输出的TCP连接请求将不受影响.这个参数仅仅当协议类型设置为了TCP才能使用. 此参数可以使用"!"标志匹配已存在的返回包,一般用于限制网络流量,即只允许已有的,向外发送的连接所返回的包.

----------------------------------------------------------

如何制定永久规则集:

/etc/sysconfig/iptables 文件是 iptables 守护进程调用的默认规则集文件.

可以使用以下命令保存执行过的IPTABLES命令:

/sbin/iptables-save > /etc/sysconfig/iptables

要恢复原来的规则库,可以使用:

/sbin/iptables-restore < /etc/sysconfig/iptables

iptables命令和route等命令一样,重启之后就会恢复,所以:

[root@rhlinux root]# service iptables save
将当前规则储存到 /etc/sysconfig/iptables: [ 确定 ]

令一种方法是 /etc/rc.d/init.d/iptables 是IPTABLES的启动脚本,所以:

[root@rhlinux root]# /etc/rc.d/init.d/iptables save
将当前规则储存到 /etc/sysconfig/iptables: [ 确定 ]

以上几种方法只使用某种即可.

若要自定义脚本,可直接使用iptables命令编写一个规则脚本,并在启动时执行:

例如若规则使用脚本文件名/etc/fw/rule, 则可以在/etc/rc.d/rc.local中加入以下代码:

if [-x /etc/fw/rule]; then /etc/fw/sule; fi;

这样每次启动都执行该规则脚本,如果用这种方法,建议NTSYSV中停止IPTABLES.

----------------------------------------------------------

实例:

链基本操作:

[root@rh34 root]# iptables -L -n
(列出表/链中的所有规则,包过滤防火墙默认使用的是filter表,因此使用此命令将列出filter表中所有内容,-n参数可加快显示速度,也可不加-n参数。)

[root@rh34 root]# iptables -F
(清除预设表filter中所有规则链中的规则)

[root@rh34 root]# iptables -X
(清除预设表filter中使用者自定义链中的规则)

[root@rh34 root]# iptables -Z
(将指定链规则中的所有包字节计数器清零)

------------------------------------------------------------

设置链的默认策略,默认允许所有,或者丢弃所有:

[root@rh34 root]# iptables -P INPUT ACCEPT
[root@rh34 root]# iptables -P OUTPUT ACCEPT
[root@rh34 root]# iptables -P FORWARD ACCEPT
(以上我们在不同方向设置默认允许策略,若丢弃则应是DROP,严格意义上防火墙应该是DROP然后再允许特定)

---------------------------------------------------------------

向链中添加规则,下面的例子是开放指定网络接口(信任接口时比较实用):

[root@rh34 root]# iptables -A INPUT -i eth1 -j ACCEPT
[root@rh34 root]# iptables -A OUTPUT -o eth1 -j ACCEPT
[root@rh34 root]# iptables -A FORWARD -i eth1 -j ACCEPT
[root@rh34 root]# iptables -A FORWARD -o eth1 -j ACCEPT

--------------------------------------------------------------

使用用户自定义链:

[root@rh34 root]# iptables -N brus
(创建一个用户自定义名叫brus的链)

[root@rh34 root]# iptables -A brus -s 0/0 -d 0/0 -p icmp -j DROP
(在此链中设置了一条规则)

[root@rh34 root]# iptables -A INPUT -s 0/0 -d 0/0 -j brus
(向默认的INPUT链添加一条规则,使所有包都由brus自定义链处理)

----------------------------------------------------------------

基本匹配规则实例:

匹配协议:

iptables -A INPUT -p tcp
(指定匹配协议为TCP)

iptables -A INPUT -p ! tcp
(指定匹配TCP以外的协议)

匹配地址:

iptables -A INPUT -s 192.168.1.1
(匹配主机)

iptables -A INPUT -s 192.168.1.0/24
(匹配网络)

iptables -A FORWARD -s ! 192.168.1.1
(匹配以外的主机)

iptables -A FORWARD -s ! 192.168.1.0/24
(匹配以外的网络)

匹配接口:

iptables -A INPUT -i eth0
iptables -A FORWARD -o eth0
(匹配某个指定的接口)

iptables -A FORWARD -o ppp+
(匹配所有类型为ppp的接口)

匹配端口:

iptables -A INPUT -p tcp --sport www
iptables -A INPUT -p tcp --sport 80
(匹配单一指定源端口)

iptables -A INPUT -p ucp --dport 53
(匹配单一指定目的端口)

iptables -A INPUT -p ucp --dport ! 53
(指定端口以外)

iptables -A INPUT -p tcp --dport 22:80
(指定端口范围,这里我们实现的是22到80端口)

---------------------------------------------------------------------------------

指定IP碎片的处理:

[root@rh34 root]# iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 192.168.1.234 --dport 80 -j ACCEPT
[root@rh34 root]# iptables -A FORWARD -f -p tcp -s 192.168.1.0/24 -d 192.168.1.234 --dport 80 -j ACCEPT

[root@rh34 root]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 192.168.1.0/24 192.168.1.234 tcp dpt:http
ACCEPT tcp -f 192.168.1.0/24 192.168.1.234 tcp dpt:http

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

----------------------------------------------------------------------------------

设置扩展的规测匹配:

(希望获得匹配的简要说明,可使用: iptables -m name_of_match --help)

多端口匹配扩展:

iptables -A INPUT -p tcp -m multiport --source-port 22,53,80
(匹配多个源端口)

iptables -A INPUT -p tcp -m multiport --destination-port 22,53,80
(匹配多个目的端口)

iptables -A INPUT -p tcp -m multiport --port 22,53,80
(匹配多个端口,无论是源还是目的端口)

-----------------------------------------------------------------------------

TCP匹配扩展:

iptables -A INPUT -p tcp --tcp-flags SYN,FIN,ACK SYN
(表示SYN、ACK、FIN的标志都要被检查,但是只有设置了SYN的才匹配)

iptables -A INPUT -p tcp --tcp-flags ALL SYN,ACK
(表示ALL:SYN、ACK、FIN、RST、URG、PSH的标志都被检查,但是只有设置了SYN和ACK的才匹配)

iptables -p tcp --syn
(选项--syn是以上的一种特殊情况,相当于“--tcp-flags SYN,RST,ACK SYN”的简写)

--------------------------------------------------------------------------------

limit速率匹配扩展:

[root@redhatlinux9 root]# iptables -A FORWARD -m limit --limit 300/hour
(表示限制每小时允许通过300个数据包)

[root@redhatlinux9 root]# iptables -A INPUT -m limit --limit-burst 10
(--limit-burst指定触发时间的值(默认为5),用来比对瞬间大量数据包的数量。)
(上面的例子用来比对一次同时涌入的数据包是否超过十个,超过此上限的包将直接被丢弃)

[root@redhatlinux9 root]# iptables -A FORWARD -p icmp -m limit --limit 3/m --limit-burst 3
(假设均匀通过,平均每分钟3个,那么触发值burst保持为3。如果每分钟通过的包的数目小于3,那么触发值busrt将在每个周期(若每分钟允许通过3个,则周期数为20秒)后加1,但最大值为3。每分钟要通过的包数量如果超过3,那么触发值busrt将减掉超出的数值,例如第二分钟有4个包,那么触发值变为2,同时4个包都可以通过,第三分钟有6个包,则只能通过5个,触发值busrt变为0。之后,每分钟如果包数量小于等于3个,则触发值busrt将加1,如果每分钟包数大于3,触发值busrt将逐渐减少,最终维持为0)
(即每分钟允许的最大包数量等于限制速率(本例中为3)加上当前的触发值busrt数。任何情况下,都可以保证3个包通过,触发值busrt相当于是允许额外的包数量)

---------------------------------------------------------------------------------

基于状态的匹配扩展(连接跟踪):

每个网络连接包括以下信息:源和目的地址、源和目的端口号,称为套接字对(cocket pairs);协议类型、连接状态(TCP协议)和超时时间等。防火墙把这些叫做状态(stateful)。能够监测每个连接状态的防火墙叫做状态宝过滤防火墙,除了能完成普通包过滤防火墙的功能外,还在自己的内存中维护一个跟踪连接状态的表,所以拥有更大的安全性。

其命令格式如下:

iptables -m state --state [!] state [,state,state,state]

state表示一个用逗号隔开的的列表,用来指定的连接状态可以有以下4种:

NEW:该包想要开始一个连接(重新连接或将连接重定向)。

RELATED:该包属于某个已经建立的连接所建立的新连接。例如FTP的数据传输连接和控制连接之间就是RELATED关系。

ESTABLISHED:该包属于某个已经建立的连接。

INVALID:该包不匹配于任何连接,通常这些包会被DROP。

例如:

[root@redhatlinux9 root]# iptables -A INPUT -m state --state RELATED,ESTABLISHED
(匹配已经建立的连接或由已经建立的连接所建立的新连接。即匹配所有的TCP回应包)

[root@redhatlinux9 root]# iptables -A INPUT -m state --state NEW -i ! eth0
(匹配所有从非eth0接口来的连接请求包)

下面是一个被动(Passive)FTP连接模式的典型连接跟踪
[root@redhatlinux9 root]# iptables -A INPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT
[root@redhatlinux9 root]# iptables -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT

下面是一个主动(Active)FTP连接模式的典型连接跟踪
[root@redhatlinux9 root]# iptables -A INPUT -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@redhatlinux9 root]# iptables -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT

--------------------------------------------------------------------------------------

日志记录:

格式为: -j LOG --log-level 7 --log-prefix "......"

[root@redhatlinux9 root]# iptables -A FORWARD -m tcp -p tcp -j LOG

[root@redhatlinux9 root]# iptables -A FORWARD -m icmp -p icmp -f -j LOG

[root@redhatlinux9 root]# iptables -A FORWARD -s 192.168.1.0/24 -d 10.10.10.0/24 -p tcp --sport 80 -j LOG

[root@redhatlinux9 root]# iptables -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-prefix "INPUT packet died:"

[root@redhatlinux9 root]# iptables -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New net syn:"

------------------------------------------------

回答你的问题:

1:设置为DROP默认不允许,然后你再开启,这样比门户大开再阻止某些服务来的安全(避免遗漏)

2:前面阻止了后面就无效了,有先后顺序的.

3:你了解了服务和端口号等即可用规则限制.

❾ 迪普防火墙配置包过滤日志存储到本地,本地查询不到,怎么回事

包过滤策略的动作是否勾选命中日志,本地存储日志条数有限,查询当天日志确认是否正常,建议日志发送迪普的统一管理平台UMC上存储。

❿ android 怎么使用应用的包名通过logcat命令来过滤某个应用的日志

本文介绍如何在 shell 命令行中过滤 adb logcat 输出的几个小技巧。 开发当中经常看到别人的 log 如洪水般瞬间刷满了屏幕,对自己有用的信息都被淹没了,影响心情也影响效率。下面是几个我所知道的过滤方法。 1. 只显示需要的输出,白名单 最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配。简单的匹配一行当中的某个字符串,例如 MyApp: adb logcat grep MyApp adb logcat grep -i myapp #忽略大小写。 adb logcat grep --color=auto -i myapp #设置匹配字符串颜色。更多设置请查看 grep 帮助。 进阶一点可以使用 grep 的正则表达式匹配。例如上一个例子会匹配一行中任意位置的 MyApp,可以设置为仅匹配 tag。默认的 log 输出如下,如果修改过输出格式相应的表达式也要修改。 I/CacheService( 665): Preparing DiskCache for all thumbnails. 可以看出 tag 是一行开头的第三个字符开始,根据这点写出表达式: adb logcat grep "^..MyApp" 根据这个格式也可以设置只显示某个优先级的 log,再匹配行首第一个字符即可。例如仅显示 Error 级别 tag 为 MyApp 的输出: adb logcat grep "^E.MyApp" 当然也可以匹配多个,使用 分割多个匹配表达式,要加转义符。例如要匹配 tag 为 MyApp 和 MyActivity 的输出: adb logcat grep "^..MyApp\^..MyActivity" adb logcat grep -E "^..MyApp^..MyActivity" #使用 egrep 无须转义符 2. 过滤不需要的输出,黑名单 还是使用 grep,用法也跟上面的一样,加一个 -v 即可。例如要过滤 tag 为 MyApp 和 MyActivity 的输出: adb logcat grep -v "^..MyApp\^..MyActivity" adb logcat grep -vE "^..MyApp^..MyActivity" #使用 egrep 无须转义符 3. 显示同一个进程的所有输出 有时一个程序里面的 tag 有多个,需要输出该程序(同一个 PID)的所有 tag;仅使用 tag 过滤有时也会漏掉一些错误信息,而一般错误信息也是和程序同一个 PID。还是通过 grep 实现,思路是先根据包名找到 pid 号,然后匹配 pid。写成 shell 脚本如下,参数是程序的 java 包名(如 com.android.media)。 查看源代码打印帮助 1 #!/bin/bash 2 packageName=$1 3 pid=`adb shell ps grep $packageName awk '{print $2}'` 4 adb logcat grep --color=auto $pid 4. 从当前开始显示 logcat 有缓存,如果仅需要查看当前开始的 log,需要清空之前的。 adb logcat -c && adb logcat 5. 过滤 log 文件 有时需要分析 log 文件,过滤 log 文件还是使用 grep。例如 log 文件为 myapp.log,要匹配 tag 为 MyApp 和 MyActivity 的输出,然后输出到 newmyapp.log: cat myapp.log grep "^..MyApp\^..MyActivity" > newmyapp.log Windows 下推荐使用 Notepad++,一个免费强大的记事本,支持正则表达式查找替换。可以高亮显示匹配内容,也可以删除不需要的内容。 以上的技巧主要用到了 grep,其实 logcat 本身也有过滤功能,可以根据 tag、优先级过滤 log,具体请参考 Android 官方文档 Reading and Writing Logs。如果喜欢使用图形界面,请参考 Using DDMS,DDMS 里面的 logcat 也可以同样过滤。 android的logcat详细用法 Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat 命 令来查看和使用. 使用logcat命令 你可以用 logcat 命令来查看系统日志缓冲区的内容: [adb] logcat [<option>] ... [<filter-spec>] ... 请查看Listing of logcat Command Options ,它有对logcat命 令有详细的描述 . 你也可以在你的电脑或运行在模拟器/设备上的远程adb shell端来使用logcat命 令,也可以在你的电脑上查看日志输出。 $ adb logcat 你也这样使用: # logcat 过滤日志输出 每一个输出的Android日志信息都有一个标签和它的优先级. 日志的标签是系统部件原始信息的一个简要的标志。(比如:“View”就 是查看系统的标签). 优先级有下列集中,是按照从低到高顺利排列的: V — Verbose (lowest priority) D — Debug I — Info W — Warning E — Error F — Fatal S — Silent (highest priority, on which nothing is ever printed) 在运行logcat的时候在前两列的信息中你就可以看到 logcat 的标签列表和优先级别,它是这样标出的:<priority>/<tag> . 下面是一个logcat输出的例子,它的优先级就似乎I,标签 就是ActivityManage: I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...} 为了让日志输出能体现管理的级别,你还可以用过滤器来控制日志输出,过滤器可以帮助你描述 系统的标签等级. 过滤器语句按照下面的格式描tag:priority ... , tag 表 示是标签,priority 是表示标签的报告的最低等级. 从上面的tag的中可以得到日志的优先级. 你可以在过滤器中多次写tag:priority . 这些说明都只到空白结束。下面有一个列子,例子表示支持所有的日志信息,除了那些标签 为”ActivityManager”和优先级为”Info”以上的和标签为” MyApp”和优先级为” Debug”以上的。 小等级,优先权报告为tag. adb logcat ActivityManager:I MyApp:D *:S 上面表达式的最后的元素 *:S ,,是设置所有的标 签为”silent”,所有日志只显示有”View” and “MyApp”的,用 *:S 的另一个用处是 能够确保日志输出的时候是按照过滤器的说明限制的,也让过滤器也作为一项输出到日志中. 下面的过滤语句指显示优先级为warning或更高的日志信息: adb logcat *:W 如果你电脑上运行logcat ,相比在远程adbshell端,你还可以 为环境变量ANDROID_LOG_TAGS :输入一个参数来设置默认的过滤 export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S" 需要注意的是ANDROID_LOG_TAGS 过滤器如果 通过远程shell运行logcat 或 用adb shell logcat 来 运行模拟器/设备不能输出日志. 控制 日志输出格式 日志信息包括了许多元数据域包括标签和优先级。可以修改日志的输出格式,所以可以显示出特 定的元数据域。可以通过 -v 选项得到格式化输出日志的相关信息. brief — Display priority/tag and PID of originating process (the default format). process — Display PID only. tag — Display the priority/tag only. thread — Display process:thread and priority/tag only. raw — Display the raw log message, with no other metadata fields. time — Display the date, invocation time, priority/tag, and PID of the originating process. long — Display all metadata fields and separate messages with a blank lines. 当启动了logcat ,你可以通过-v 选 项来指定输出格式: [adb] logcat [-v <format>] 下面是用 thread 来产生的日志格式: adb logcat -v thread 需要注意的是你只能-v 选项来规定输出格式 option. 查看 可用日志缓冲区 Android日志系统有循环缓冲区,并不是所有的日志系统都有默认循环缓冲区。为了得到 日志信息,你需要通过-b 选项来启动logcat 。如果要使用循环缓冲区,你需要查看剩余的 循环缓冲期: radio — 查看缓冲区的相关的信息. events — 查看和事件相关的的缓冲区. main — 查看主要的日志缓冲区 -b 选项使用方法: [adb] logcat [-b <buffer>] 下面的例子表示怎么查看日志缓冲区包含radio 和 telephony信息: adb logcat -b radio 查看 stdout 和stderr 在默认状态下,Android系统有stdout 和 stderr (System.out和System.err ) 输出到/dev/null , 在运行Dalvik VM的进程中,有一个系统可以备份日志文件。在这种情况下,系统会用stdout 和stderr 和 优先级 I.来记录日志信息 通过这种方法指定输出的路径,停止运行的模拟器/设备,然后通过用setprop 命 令远程输入日志 $ adb shell stop $ adb shell setprop log.redirect-stdio true $ adb shell start 系统直到你关闭模拟器/设备前设置会一直保留,可以通过添加/data/local.prop 可 以使用模拟器/设备上的默认设置 Logcat命令列表 Option Description -b <buffer> 加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。具体查看Viewing Alternative Log Buffers. -c 清楚屏幕上的日志. -d 输出日志到屏幕上. -f <filename> 指定输出日志信息的<filename> , 默认是stdout . -g 输出指定的日志缓冲区,输出后退出. -n <count> 设置日志的最大数目<count> ., 默认值是4,需要和 -r 选 项一起使用。 -r <kbytes> 每<kbytes> 时 输出日志,默认值为16,需要和-f 选 项一起使用. -s 设置默认的过滤级别为silent. -v <format> 设置日志输入格式,默认的是brief 格 式,要知道更多的支持的格式,参看Controlling Log Output Format .

阅读全文

与包过滤日志实验相关的资料

热点内容
拼多多滤芯怎么样 浏览:695
现在鱼缸都是下过滤 浏览:426
有水垢能用太阳能 浏览:953
完美净水机哪个牌子好 浏览:876
管子结水垢温度会 浏览:484
大象材质树脂 浏览:631
室外给水处理程序 浏览:967
树脂成膜后收缩 浏览:800
音质提升器 浏览:163
太阳眼镜是玻璃镜片好还是树脂镜片好 浏览:821
纯水机设备怎么维修 浏览:564
沈阳水处理化验设备 浏览:948
地埋式一体化过滤器 浏览:305
医院污水消毒必找中泰环保可靠 浏览:99
化粪池污水提升器 浏览:99
广州容易水垢 浏览:569
前置过滤器带稳压表的好吗 浏览:202
蒸汽锅炉废水是热水吗 浏览:469
海因环氧树脂化学名称 浏览:991
碧云泉305更换滤芯后怎么复位 浏览:45