应用程序跟踪
应用程序跟踪 (AppTrack) 是一种日志记录和报告工具,可用于共享应用程序可见性信息。AppTrack 通过提供应用程序活动更新消息的系统日志发送日志消息。有关详细信息,请参阅以下主题:
了解应用程序跟踪
AppTrack 是一种应用程序跟踪工具,可提供用于分析网络带宽使用情况的统计信息。启用后,AppTrack 将收集指定区域中应用程序流的字节、数据包和持续时间统计信息。默认情况下,当每个会话关闭时,AppTrack 会生成一条消息,提供会话的字节和数据包计数以及持续时间,并将其发送到主机设备。瞻博网络安全分析(正式名称为 STRM)可检索数据并提供基于流的应用程序可见性。
AppTrack 消息类似于会话日志,使用系统日志或结构化系统日志格式。该消息还包括会话的应用程序字段。如果 AppTrack 识别自定义应用程序并返回适当的名称,则日志消息中将包含自定义应用程序名称。(如果在触发更新消息时应用程序识别过程失败或尚未完成,则该消息将在应用程序字段中指定 none
。
AppTrack 同时支持 IPv4 和 IPv6 寻址。相关消息以适当的 IPv4 或 IPv6 格式显示地址。
用户名和用户角色等用户身份详细信息已添加到 AppTrack 会话创建、会话关闭和卷更新日志中。这些字段将包含与策略匹配关联的用户名和角色。仅为提供 UAC 实施的安全策略启用用户名和角色的日志记录。对于没有 UAC 强制的安全策略,用户名和用户角色字段显示为 N/A。如果设备由于没有该会话的身份验证表条目或禁用了此信息的日志记录而无法检索该会话的信息,则用户名显示为未经身份验证的用户,用户角色显示为 N/A。日志中的用户角色字段包含用户执行的所有角色的列表(如果匹配标准是特定的、经过身份验证的用户或任何),日志中的用户名字段包含正确的用户名。如果匹配标准和日志中的用户名字段包含未经身份验证的用户或未知用户,则日志中的用户角色字段将包含 N/A。
如果为区域启用 AppTrack 并指定时间 session-update-interval
,则每当收到数据包时,AppTrack 都会检查自会话开始以来或自上次更新以来的时间是否大于更新间隔。如果是这样,AppTrack 将更新计数并向主机发送更新消息。如果短期会话在更新间隔内开始和结束,AppTrack 仅在会话关闭时生成消息。
如果希望初始更新消息的发送时间早于指定的更新间隔, first-update-interval
请使用 。允许您 first-update-interval
仅为第一次更新输入较短的间隔。
关闭消息最后一次更新统计信息,并提供会话关闭的说明。使用以下代码:
TCP RST |
RST 从任一端接收。 |
TCP FIN |
FIN 从任一端接收。 |
Response received |
收到的数据包请求响应(如 |
ICMP error |
收到 ICMP 错误(如 |
Aged out |
会话已老化。 |
ALG |
ALG 宣布会议闭幕。 |
IDP |
IDP 结束了会议。 |
Parent closed |
父会话已关闭。 |
CLI |
会话已通过 CLI 语句清除。 |
Policy delete |
标记为删除的策略。 |
应用程序跟踪的优势
提供对通过安全设备的应用程序类型的可见性。
使您能够深入了解允许的应用程序及其可能带来的风险。
协助管理带宽,报告活跃用户和应用程序。
应用程序跟踪日志消息字段
从 Junos OS 版本 15.1X49-D100 开始,AppTrack 会话创建、会话关闭和卷更新日志包括一个名为 目标接口的新字段。您可以使用该 destination interface
字段查看当基于策略的高级路由 (APBR) 应用于会话并且在任何逻辑系统中启用和配置 AppTrack 时,为该会话选择了哪个出口接口。
从 Junos OS 版本 15.1X49-D100 开始,添加了用于路由更新的新 AppTrack 日志,以包括 APBR 配置文件、规则和路由实例详细信息。将 APBR 应用于会话时,将生成新日志并更新 AppTrack 会话计数器,以指示生成新路由更新日志的次数。AppTrack 会话关闭日志也会更新,以包括 APBR 配置文件、规则和路由实例详细信息。
从 Junos OS 版本 17.4R1 开始,AppTrack 会话创建、会话关闭和卷更新日志包括新字段 category
和 subcategory
.这些字段提供有关应用程序属性的一般信息。例如,字段 category
指定应用程序的技术(Web、基础结构), subcategory
字段指定应用程序的子类别(例如,社交网络、新闻和广告)。
由于类别和子类别不适用于自定义应用程序,因此 AppTrack 日志消息会将类别 custom application
显示为,将子类别 N/A
显示为 。
对于未知应用程序,类别和子类别都记录为 N/A
。
结构化系统日志格式的日志消息示例:
APPTRACK_SESSION_CREATE user@host.1.1.1.2.129 source-address="4.0.0.1" source-port="48873" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="UNKNOWN" nested-application="UNKNOWN" nat-source-address="4.0.0.1" nat-source-port="48873" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="permit-all" source-zone-name="trust" destination-zone-name="untrust" session-id-32="32" username="user1" roles="DEPT1" encrypted="UNKNOWN" destination-interface-name=”ge-0/0/0” category=”N/A” sub-category=”N/A”]
APPTRACK_SESSION_CLOSE [junos@2636.1.1.1.2.129 reason="TCP CLIENT RST" source-address="4.0.0.1" source-port="48873" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="HTTP" nested-application="UNKNOWN" nat-source-address="4.0.0.1" nat-source-port="48873" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="permit-all" source-zone-name="trust" destination-zone-name="untrust" session-id-32="32" packets-from-client="5" bytes-from-client="392" packets-from-server="3" bytes-from-server="646" elapsed-time="3" username="user1" roles="DEPT1" encrypted="No" routing-instance=“default” destination-interface-name=”st0.0” category=” Web” sub-category=”N/A”]
APPTRACK_SESSION_VOL_UPDATE [user@host.1.1.1.2.129 source-address="4.0.0.1" source-port="33040" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="HTTP" nested-application="FACEBOOK-SOCIALRSS" nat-source-address="4.0.0.1" nat-source-port="33040" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="permit-all" source-zone-name="trust" destination-zone-name="untrust" session-id-32="28" packets-from-client="371" bytes-from-client="19592" packets-from-server="584" bytes-from-server="686432" elapsed-time="60" username="user1" roles="DEPT1" encrypted="No" destination-interface-name=”st0.0” category=” Web” sub-category=”Social-Networking”]
APPTRACK_SESSION_ROUTE_UPDATE [user@host.1.1.1.2.129 source-address="4.0.0.1" source-port="33040" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="HTTP" nested-application="FACEBOOK-SOCIALRSS" nat-source-address="4.0.0.1" nat-source-port="33040" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="permit-all" source-zone-name="trust" destination-zone-name="untrust" session-id-32="28" username="user1" roles="DEPT1" encrypted="No" profile-name=”pf1” rule-name=”facebook1” routing-instance=”instance1” destination-interface-name=”st0.0” category=”Web” sub-category=”Social-Networking”]
从 Junos OS 版本 18.4R1 和 Junos OS 版本 18.3R2 开始,在APPTRACK_SESSION_ROUTE_UPDATE日志中,该 encrypted
字段显示值,如 N/A
以下示例所示:
APPTRACK_SESSION_ROUTE_UPDATE [junos@2636.1.1.1.2.129 source-address="4.0.0.1" source-port="251" destination-address="5.0.0.1" destination-port="250" service-name="None" application="HTTP" nested-application="UNKNOWN" nat-source-address="4.0.0.1" nat-source-port="251" nat-destination-address="5.0.0.1" nat-destination-port="250" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="1" source-zone-name="trust" destination-zone-name="untrust" session-id-32="866" username="N/A" roles="N/A" encrypted="N/A" profile-name="profile1" rule-name="rule1" routing-instance="RI1" destination-interface-name="ge-0/0/2.0" category="Web" subcategory="N/A" apbr-policy-name="sla1" webfilter-category="N/A"]
从 Junos OS 版本 18.4R1 开始,APPTRACK_SESSION_CLOSE和APPTRACK_SESSION_CLOSE_LS日志中包含多路径规则名称,如以下示例所示:
2018-10-25T01:00:18.179-07:00 multihome-spoke RT_FLOW - APPTRACK_SESSION_CLOSE [junos@2636.1.1.1.2.129 reason="idle Timeout" source-address="19.0.0.2" source-port="34880" destination-address="9.0.0.2" destination-port="80" service-name="junos-http" application="HTTP" nested-application="GOOGLE-GEN" nat-source-address="19.0.0.2" nat-source-port="34880" nat-destination-address="9.0.0.2" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="1" source-zone-name="trust" destination-zone-name="untrust1" session-id-32="9625" packets-from-client="347" bytes-from-client="18199" packets-from-server="388" bytes-from-server="131928" elapsed-time="411" username="N/A" roles="N/A" encrypted="No" profile-name="apbr1" rule-name="rule1" routing-instance="TC1_VPN" destination-interface-name="gr-0/0/0.4" uplink-incoming-interface-name="" uplink-tx-bytes="0" uplink-rx-bytes="0" multipath-rule-name="multi1"]
从 Junos OS 版本 18.2R1 开始,AppTrack 会话关闭日志包括用于记录通过上行链路接口传输和接收的数据包字节的新字段。通过上行链路接口传输和接收的数据包字节由 、 uplink-rx-bytes
和uplink-incoming-interface-name
字段报告uplink-tx-bytes
。
例子:
APPTRACK_SESSION_CLOSE [user@host.1.1.1.2.137 reason="TCP FIN" source-address="4.0.0.1" source-port="40297" destination-address="5.0.0.1" destination-port="110" service-name="junos-pop3" application="POP3" nested-application="UNKNOWN" nat-source-address="4.0.0.1" nat-source-port="40297" nat-destination-address="5.0.0.1" nat-destination-port="110" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="permit-all" source-zone-name="UNTRUST" destination-zone-name="TRUST" session-id-32="81" packets-from-client="7" bytes-from-client="1959" packets-from-server="6" bytes-from-server="68643" elapsed-time="130" username="N/A" roles="N/A" encrypted="No" profile-name=”pf1” rule-name=”facebook1” routing-instance=”instance1” destination-interface-name="gr-0/0/0.0" uplink-tx-bytes="1959" uplink-rx-bytes="68643" uplink-incoming-interface-name="gr-0/0/0.0"]
从 Junos OS 18.2R1 版开始,添加了以下新消息。这些消息提供主动和被动指标报告、应用程序流量路径切换等信息,如以下示例所示:
APPQOE_BEST_PATH_SELECTED [junos@2636.1.1.1.2.129 source-address="20.1.1.1" source-port="47335" destination-address="151.101.9.67" destination-port="443" apbr-profile="apbrProf1" apbr-rule="rule1" application="HTTP" nested-application="CNN" group-name="N/A" service-name="junos-https" protocol-id="6" source-zone-name="trust" destination-zone-name="untrust" session-id-32="611" username="N/A" roles="N/A" routing-instance="ri3" destination-interface-name="gr-0/0/0.2" ip-dscp="0" sla-rule="SLA1" elapsed-time="2" bytes-from-client="675" bytes-from-server="0" packets-from-client="7" packets-from-server="0" previous-interface="gr-0/0/0.2" active-probe-params="PP1" destination-group-name="p1"]
APPQOE_PASSIVE_SLA_METRIC_REPORT [junos@2636.1.1.1.2.129 source-address="20.1.1.1" source-port="47335" destination-address="151.101.9.67" destination-port="443" apbr-profile="apbrProf1" apbr-rule="rule1" application="HTTP" nested-application="CNN" group-name="N/A" service-name="junos-https" protocol-id="6" source-zone-name="trust" destination-zone-name="untrust" session-id-32="611" username="N/A" roles="N/A" routing-instance="ri3" destination-interface-name="gr-0/0/0.2" ip-dscp="0" sla-rule="SLA1" ingress-jitter="0" egress-jitter="0" rtt-jitter="0" rtt="0" pkt-loss="0" bytes-from-client="1073" bytes-from-server="6011" packets-from-client="12" packets-from-server="13" monitoring-time="990" active-probe-params="PP1" destination-group-name="p1"]
APPQOE_SLA_METRIC_VIOLATION [junos@2636.1.1.1.2.129 source-address="20.1.1.1" source-port="35264" destination-address="151.101.193.67" destination-port="443" apbr-profile="apbrProf1" apbr-rule="rule1" application="HTTP" nested-application="CNN" group-name="N/A" service-name="junos-https" protocol-id="6" source-zone-name="trust" destination-zone-name="untrust" session-id-32="614" username="N/A" roles="N/A" routing-instance="ri3" destination-interface-name="gr-0/0/0.2" ip-dscp="0" sla-rule="SLA1" ingress-jitter="104" egress-jitter="7" rtt-jitter="97" rtt="1142" pkt-loss="0" target-jitter-type="2" target-jitter="20000" target-rtt="500" target-pkt-loss="1" violation-reason="1" jitter-violation-count="0" pkt-loss-violation-count="0" rtt-violation-count="1" violation-duration="0" bytes-from-client="2476" bytes-from-server="163993" packets-from-client="48" packets-from-server="150" monitoring-time="948" active-probe-params="PP1" destination-group-name="p1"]
APPQOE_ACTIVE_SLA_METRIC_REPORT [junos@2636.1.1.1.2.129 source-address="6.1.1.2" source-port="36051" destination-address="6.1.1.1" destination-port="36050" application="UDP" protocol-id="17" destination-zone-name="untrust" routing-instance="ri3" destination-interface-name="gr-0/0/0.3" ip-dscp="128" ingress-jitter="26" egress-jitter="31" rtt-jitter="8" rtt="2383" pkt-loss="0" bytes-from-client="870240" bytes-from-server="425280" packets-from-client="4440" packets-from-server="4430" monitoring-time="30" active-probe-params="PP1" destination-group-name="p1"]
从 Junos OS 版本 15.1X49-D170 开始,AppTrack 会话创建、会话关闭、路由更新和卷更新日志将得到增强,以包含源 VRF 和目标 VRF 的 VRF 名称。
RT_FLOW - APPTRACK_SESSION_ROUTE_UPDATE [junos@2636.1.1.1.2.129 source-address="1.3.0.10" source-port="990" destination-address="8.3.0.10" destination-port="8080" service-name="None" application="HTTP" nested-application="UNKNOWN" nat-source-address="1.3.0.10" nat-source-port="990" nat-destination-address="8.3.0.10" nat-destination-port="8080" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="1" source-zone-name="trust_lan2" destination-zone-name="sdwan" session-id-32="432399" username="N/A" roles="N/A" encrypted="No" profile-name="p2" rule-name="r1" routing-instance="Default_VPN_LAN2" destination-interface-name="gr-0/0/0.0" source-l3vpn-vrf-group-name="vpn-A" destination-l3vpn-vrf-group-name="vpn-A"]
RT_FLOW - APPTRACK_SESSION_CREATE [junos@2636.1.1.1.2.129 source-address="1.3.0.10" source-port="990" destination-address="8.3.0.10" destination-port="8080" service-name="None" application="HTTP" nested-application="UNKNOWN" nat-source-address="1.3.0.10" nat-source-port="990" nat-destination-address="8.3.0.10" nat-destination-port="8080" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="1" source-zone-name="trust_lan2" destination-zone-name="sdwan" session-id-32="432399" username="N/A" roles="N/A" encrypted="No" destination-interface-name="gr-0/0/0.0" source-l3vpn-vrf-group-name="vpn-A" destination-l3vpn-vrf-group-name="vpn-A’"]
RT_FLOW - APPTRACK_SESSION_VOL_UPDATE [junos@2636.1.1.1.2.129 source-address="4.0.0.1" source-port="34219" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="HTTP" nested-application="UNKNOWN" nat-source-address="4.0.0.1" nat-source-port="34219" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="policy1" source-zone-name="trust" destination-zone-name="untrust" session-id-32="4" packets-from-client="6" bytes-from-client="425" packets-from-server="5" bytes-from-server="561" elapsed-time="1" username="N/A" roles="N/A" encrypted="No" profile-name="p1" rule-name="r1" routing-instance="default" destination-interface-name="ge-0/0/1.0" source-l3vpn-vrf-group-name="vpn-A" destination-l3vpn-vrf-group-name="vpn-A"]
从 Junos OS 19.1R1 版开始,会话关闭日志包括新的字段源标识,用于检查会话创建日志和会话关闭日志以及用户名和角色。新消息提供用户名和角色等信息,如以下示例所示:
RT_FLOW - APPTRACK_SESSION_CLOSE [junos@2636.1.1.1.2.129 reason="TCP FIN" source-address="4.0.0.1" source-port="34219" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="HTTP" nested-application="UNKNOWN" nat-source-address="4.0.0.1" nat-source-port="34219" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="policy1" source-zone-name="trust" destination-zone-name="untrust" session-id-32="4" packets-from-client="6" bytes-from-client="425" packets-from-server="5" bytes-from-server="561" elapsed-time="1" username="N/A" roles="N/A" encrypted="No" profile-name="p1" rule-name="r1" routing-instance="default" destination-interface-name="ge-0/0/1.0" uplink-incoming-interface-name="" uplink-tx-bytes="0" uplink-rx-bytes="0" multipath-rule-name="N/A" source-l3vpn-vrf-group-name="vpn-A" destination-l3vpn-vrf-group-name="vpn-A"]
每当启用了 APBR 和 AppTrack 的会话上的路由或下一跃点发生更改时,都会生成新的系统日志消息 RT_FLOW_NEXTHOP_CHANGE
。
在 20.2R3、20.3R2、20.4R2 和 21.1R1 之前的 Junos OS 版本中,如果应用程序未被 APBR(APBR 兴趣检查)识别,但后来被 JDPI 识别为会话的第一个数据包,则会生成系统日志(RT_FLOW_NEXTHOP_CHANGE日志)。您可以忽略日志消息。
RT_FLOW_NEXTHOP_CHANGE [junos@2636.1.1.1.2.129 source-address="4.1.0.1" source-port="43540" destination-address="5.1.0.1" destination-port="7000" service-name="None" application="JNPR-UDPSVR-ADDR" nested-application="UNKNOWN" nat-source-address="4.1.0.1" nat-source-port="43540" nat-destination-address="5.1.0.1" nat-destination-port="7000" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="17" policy-name="1" source-zone-name="trust" destination-zone-name="untrust" session-id-32="2" packets-from-client="1" bytes-from-client="105" packets-from-server="0" bytes-from-server="0" elapsed-time="0" username="N/A" roles="N/A" encrypted="No" profile-name="profile1" rule-name="rule1" routing-instance="RI1" destination-interface-name="ge-0/0/1.0" last-destination-interface-name="ge-0/0/4.0" uplink-incoming-interface-name="" last-incoming-interface-name="N/A" uplink-tx-bytes="0" uplink-rx-bytes="0" apbr-policy-name="N/A" dscp-value="N/A" apbr-rule-type="application"]
从 Junos OS 版本 19.3R1 开始,AppTrack 会话日志(例如会话关闭、卷更新、路由更新和RT_FLOW_NEXTHOP_CHANGE dscp-value
包括和 apbr-rule-type
选项)。
-
APPTRACK_SESSION_CLOSE [junos@2636.1.1.1.2.129 reason="TCP CLIENT RST" source-address="4.0.0.1" source-port="48873" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="UNKNOWN" nested-application="UNKNOWN" nat-source-address="4.0.0.1" nat-source-port="48873" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="permit-all" source-zone-name="trust" destination-zone-name="untrust" session-id-32="32" packets-from-client="5" bytes-from-client="392" packets-from-server="3" bytes-from-server="646" elapsed-time="3" username="user1" roles="DEPT1" encrypted="No" destination-interface-name=”st0.0”
dscp-value=”13”
apbr-rule-type=”dscp”
] -
APPTRACK_SESSION_ROUTE_UPDATE [junos@2636.1.1.1.2.129 source-address="4.0.0.1" source-port="33040" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="HTTP" nested-application="FACEBOOK-SOCIALRSS" nat-source-address="4.0.0.1" nat-source-port="33040" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="permit-all" source-zone-name="trust" destination-zone-name="untrust" session-id-32="28" username="user1" roles="DEPT1" encrypted="No" profile-name=”pf1” rule-name=”facebook1” routing-instance=”instance1” destination-interface-name=”st0.0”
dscp-value=”13”
apbr-rule-type=”application-dscp”
] -
APPTRACK_SESSION_VOL_UPDATE [junos@2636.1.1.1.2.129 source-address="4.0.0.1" source-port="33040" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="HTTP" nested-application="FACEBOOK-SOCIALRSS" nat-source-address="4.0.0.1" nat-source-port="33040" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="permit-all" source-zone-name="trust" destination-zone-name="untrust" session-id-32="28" packets-from-client="371" bytes-from-client="19592" packets-from-server="584" bytes-from-server="686432" elapsed-time="60" username="user1" roles="DEPT1" encrypted="No" destination-interface-name=”st0.0”
dscp-value=”13”
apbr-rule-type=”application-dscp
”] -
RT_FLOW_NEXTHOP_CHANGE [junos@2636.1.1.1.2.129 source-address="4.0.0.1" source-port="1999" destination-address="157.240.23.35" destination-port="80" service-name="junos-http" application="UNKNOWN" nested-application="UNKNOWN" nat-source-address="4.0.0.1" nat-source-port="1999" nat-destination-address="157.240.23.35" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="1" source-zone-name="trust" destination-zone-name="untrust" session-id-32="3287" packets-from-client="1" bytes-from-client="60" packets-from-server="0" bytes-from-server="0" elapsed-time="0" username="N/A" roles="N/A" encrypted="No" profile-name="profile1" rule-name="rule1" routing-instance="RI1" destination-interface-name="ge-0/0/1.0" last-destination-interface-name="ge-0/0/4.0" uplink-incoming-interface-name="" last-incoming-interface-name="N/A" uplink-tx-bytes="0" uplink-rx-bytes="0" apbr-policy-name="sla1"
dscp-value=”13”
apbr-rule-type=”dscp”
]
从 Junos OS 版本 20.1R1 开始,AppTrack 会话日志(如会话关闭、卷更新、路由更新)包括 apbr-rule-type
选项。
-
APPTRACK_SESSION_VOL_UPDATE [junos@2636.1.1.1.2.129 source-address="4.0.0.1" source-port="33040" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="HTTP" nested-application="FACEBOOK-SOCIALRSS" nat-source-address="4.0.0.1" nat-source-port="33040" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="permit-all" source-zone-name="trust" destination-zone-name="untrust" session-id-32="28" packets-from-client="371" bytes-from-client="19592" packets-from-server="584" bytes-from-server="686432" elapsed-time="60" username="user1" roles="DEPT1" encrypted="No" destination-interface-name=”st0.0” apbr-rule-type=”default”]
-
APPTRACK_SESSION_ROUTE_UPDATE [junos@2636.1.1.1.2.129 source-address="4.0.0.1" source-port="33040" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="HTTP" nested-application="FACEBOOK-SOCIALRSS" nat-source-address="4.0.0.1" nat-source-port="33040" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="permit-all" source-zone-name="trust" destination-zone-name="untrust" session-id-32="28" username="user1" roles="DEPT1" encrypted="No" profile-name=”pf1” rule-name=”facebook1” routing-instance=”instance1” destination-interface-name=”st0.0” apbr-rule-type=”default”]
-
APPTRACK_SESSION_CLOSE [junos@2636.1.1.1.2.129 reason="TCP CLIENT RST" source-address="4.0.0.1" source-port="48873" destination-address="5.0.0.1" destination-port="80" service-name="junos-http" application="UNKNOWN" nested-application="UNKNOWN" nat-source-address="4.0.0.1" nat-source-port="48873" nat-destination-address="5.0.0.1" nat-destination-port="80" src-nat-rule-name="N/A" dst-nat-rule-name="N/A" protocol-id="6" policy-name="permit-all" source-zone-name="trust" destination-zone-name="untrust" session-id-32="32" packets-from-client="5" bytes-from-client="392" packets-from-server="3" bytes-from-server="646" elapsed-time="3" username="user1" roles="DEPT1" encrypted="No" destination-interface-name=”st0.0” apbr-rule-type=”default”]
从 Junos OS 版本 20.4R1 开始,将更新 AppQoE 的 AppTrack 会话日志,例如选择的最佳路径、SLA 指标违规、SLA 指标报告。
-
APPQOE_APP_BEST_PATH_SELECTED [junos@2636.1.1.1.2.129 apbr-profile="apbr1" apbr-rule="rule1" application="ANY" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" previous-interface="N/A" destination-interface-name="gr-0/0/0.0" sla-rule="sla1" active-probe-params="probe1" destination-group-name="site1" reason="app detected" session-count="1" violation-duration="0" ip-dscp="255" selection-criteria=“default” "server-ip=”10.1.1.1” url=”salesforce.com”]
-
APPQOE_APP_SLA_METRIC_VIOLATION [junos@2636.1.1.1.2.129 apbr-profile=" apbr1" apbr-rule="rule1" application="ANY" other-app="N/A" group-name="N/A" routing-instance="ri3" destination-interface-name="gr-0/0/0.0" sla-rule="SLA1" ingress-jitter="4294967295" egress-jitter="4294967295" rtt-jitter="1355" rtt="5537" pkt-loss="0" target-jitter-type="2" target-jitter="20000" target-rtt="1000" target-pkt-loss="1" violation-reason="1" violation-duration="20" active-probe-params="PP1" destination-group-name="p1" "server-ip=”10.1.1.1” url=”salesforce.com”]
-
APPQOE_ACTIVE_SLA_METRIC_REPORT [junos@2636.1.1.1.2.129 source-address="40.1.1.2" source-port="10001" destination-address="40.1.1.1" destination-port="80" destination-zone-name="untrust1" routing-instance="transit" destination-interface-name="" ip-dscp="6" ingress-jitter="4294967295" egress-jitter="4294967295" rtt-jitter="1345" rtt="4294967295" pkt-loss="100" monitoring-time="29126" active-probe-params="probe1" destination-group-name="site1" forwarding-class="network-control" loss-priority="low" active-probe-type="http head"]
从 Junos OS 版本 21.2R1 开始,对于没有 SLA 指标的应用程序配置文件,AppQoE 仅APPQOE_APP_BEST_PATH_SELECTED
生成日志。在日志中APPQOE_APP_BEST_PATH_SELECTED
,active-probe-params
将显示N/A
字段,并显示N/A
违规持续时间字段。APPQOE_APP_BEST_PATH_SELECTED
日志包含新字段,如 previous-link-tag
、 previous-link-priority
、 destination-link-tag
和destination-link-priority
,如以下示例所示。如果为 reason
,previous-link-tag
则字段将显示N/A
,previous-link-priority
字段将显示 0
。app detected
-
独立于应用程序的配置文件,无需考虑 SLA 指标。
APPQOE_APP_BEST_PATH_SELECTED [junos@2636.1.1.1.2.129 apbr-profile="apbr1" apbr-rule="rule1" application="ANY" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" previous-interface="gr-0/0/0.1" destination-interface-name="gr-0/0/0.3" sla-rule="sla1" active-probe-params="N/A" destination-group-name="site1" reason="switch to high priority link" session-count="2" violation-duration="N/A" ip-dscp="255" selection-criteria="default" forwarding-nexthop-id="262142" server-ip="0.0.0.0" server-url="N/A" previous-link-tag=”ISP1” previous-link-priority=”100” destination-link-tag=”ISP1” destination-link-priority=”50”]
对于与应用程序无关的配置文件,应用程序字段显示为
ANY
。 -
基于应用程序的配置文件,无需考虑 SLA 指标。
APPQOE_APP_BEST_PATH_SELECTED [junos@2636.1.1.1.2.129 apbr-profile="apbr1" apbr-rule="rule1" application="SSH" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" previous-interface="gr-0/0/0.1" destination-interface-name="gr-0/0/0.3" sla-rule="sla1" active-probe-params="N/A" destination-group-name="site1" reason="switch to high priority link" session-count="2" violation-duration="N/A" ip-dscp="255" selection-criteria="application" forwarding-nexthop-id="262142" server-ip="0.0.0.0" server-url="N/A" previous-link-tag=”ISP1” previous-link-priority=”100” destination-link-tag=”ISP1” destination-link-priority=”50”]
-
具有 SLA 指标注意事项且未报告违规的应用程序独立配置文件。
APPQOE_APP_BEST_PATH_SELECTED [junos@2636.1.1.1.2.129 apbr-profile="apbr1" apbr-rule="rule1" application="ANY" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" previous-interface="gr-0/0/0.1" destination-interface-name="gr-0/0/0.3" sla-rule="sla1" active-probe-params="probe1" destination-group-name="site1" reason="switch to high priority link" session-count="2" violation-duration=”180” ip-dscp="255" selection-criteria="default" forwarding-nexthop-id="262142" server-ip="0.0.0.0" server-url="N/A" previous-link-priority=”100” destination-link-tag=”ISP2” destination-link-priority=”50”]
-
具有 SLA 指标注意事项和违规报告的应用程序独立配置文件。
APPQOE_APP_BEST_PATH_SELECTED [junos@2636.1.1.1.2.129 apbr-profile="apbr1" apbr-rule="rule1" application="ANY" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" previous-interface="gr-0/0/0.1" destination-interface-name="gr-0/0/0.3" sla-rule="sla1" active-probe-params="probe1" destination-group-name="site1" reason="sla violated" session-count="2" violation-duration=”180” ip-dscp="255" selection-criteria="default" forwarding-nexthop-id="262142" server-ip="0.0.0.0" server-url="N/A" previous-link-priority=”100” destination-link-tag=”ISP2” destination-link-priority=”50”]
APPQOE_APP_SLA_METRIC_VIOLATION [junos@2636.1.1.1.2.129 apbr-profile="apbr1" apbr-rule="rule1" application="ANY" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" destination-interface-name="gr-0/0/0.1" sla-rule="sla1" ingress-jitter="253" egress-jitter="252340" rtt-jitter="252593" rtt="251321" pkt-loss="0" target-jitter-type="2" target-jitter="25000" target-rtt="200000" target-pkt-loss="15" violation-reason="3" active-probe-params="probe1" destination-group-name="site1" ip-dscp="255" selection-criteria="default"]
APPQOE_APP_PASSIVE_SLA_METRIC_REPORT [junos@2636.1.1.1.2.129 apbr-profile="apbr1" apbr-rule="rule1" application="ANY" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" destination-interface-name="gr-0/0/0.1" sla-rule="sla1" ingress-jitter="109" egress-jitter="72" rtt-jitter="102" rtt="63674" pkt-loss="0" min-ingress-jitter="1" min-egress-jitter="1" min-rtt-jitter="1" min-rtt="793" min-pkt-loss="0" max-ingress-jitter="448" max-egress-jitter="252340" max-rtt-jitter="252593" max-rtt="253784" max-pkt-loss="0" probe-count="122" monitoring-time="59882" active-probe-params="probe1" destination-group-name="site1" ip-dscp="255" selection-criteria="default"]
-
基于应用程序的配置文件,具有 SLA 指标注意事项,并且未报告违规。
APPQOE_APP_BEST_PATH_SELECTED [junos@2636.1.1.1.2.129 apbr-profile="apbr1" apbr-rule="rule1" application="SSH" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" previous-interface="gr-0/0/0.2" destination-interface-name="gr-0/0/0.3" sla-rule="sla1" active-probe-params="probe1" destination-group-name="site1" reason="switch to high priority link" session-count="2" violation-duration="180" ip-dscp="255" selection-criteria="application" forwarding-nexthop-id="262142" server-ip="0.0.0.0" server-url="N/A" previous-link-tag=”ISP2” previous-link-priority=”70” destination-link-tag=”ISP2” destination-link-priority=”30”]
基于应用程序的配置文件,具有 SLA 指标注意事项并报告了违规。
APPQOE_APP_BEST_PATH_SELECTED [junos@2636.1.1.1.2.129 apbr-profile="apbr1" apbr-rule="rule1" application="SSH" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" previous-interface="gr-0/0/0.2" destination-interface-name="gr-0/0/0.3" sla-rule="sla1" active-probe-params="probe1" destination-group-name="site1" reason="sla violated" session-count="2" violation-duration="180" ip-dscp="255" selection-criteria="application" forwarding-nexthop-id="262142" server-ip="0.0.0.0" server-url="N/A" previous-link-tag=”ISP2” previous-link-priority=”70” destination-link-tag=”ISP2” destination-link-priority=”30”]
APPQOE_APP_PASSIVE_SLA_METRIC_REPORT [junos@2636.1.1.1.2.129 apbr-profile="apbr1" apbr-rule="rule1" application="SSH" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" destination-interface-name="gr-0/0/0.1" sla-rule="sla1" ingress-jitter="109" egress-jitter="72" rtt-jitter="102" rtt="63674" pkt-loss="0" min-ingress-jitter="1" min-egress-jitter="1" min-rtt-jitter="1" min-rtt="793" min-pkt-loss="0" max-ingress-jitter="448" max-egress-jitter="252340" max-rtt-jitter="252593" max-rtt="253784" max-pkt-loss="0" probe-count="122" monitoring-time="59882" active-probe-params="probe1" destination-group-name="site1" ip-dscp="255" selection-criteria="application"]
APPQOE_APP_SLA_METRIC_VIOLATION [junos@2636.1.1.1.2.129 apbr-profile="apbr1" apbr-rule="rule1" application="SSH" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" destination-interface-name="gr-0/0/0.1" sla-rule="sla1" ingress-jitter="253" egress-jitter="252340" rtt-jitter="252593" rtt="251321" pkt-loss="0" target-jitter-type="2" target-jitter="25000" target-rtt="200000" target-pkt-loss="15" violation-reason="3" active-probe-params="probe1" destination-group-name="site1" ip-dscp="255" selection-criteria="application"]
考虑这样一种情况:SRX 系列防火墙在机箱群集模式下运行,并且 AppQoE 配置包括配置为 1 的 SaaS 探测和违规计数值。当应用程序流量跨节点切换路由路径时,会在主节点和备份节点上生成冲突 syslog 消息。您可以忽略在托管当前路径的节点上生成的系统日志。
-
当链路相关性配置为“松散”时,如果应用程序流量从首选链接切换到非首选链接,并且该非首选链接具有更高的优先级,则系统日志消息会将原因记录为“切换到更高优先级”。
例子:
RT_FLOW - APPQOE_APP_BEST_PATH_SELECTED [apbr-profile="apbr1" apbr-rule="rule1" application="YAHOO" other-app="N/A" group-name="N/A" routing-instance="TC1_VPN" previous-interface="gr-0/0/0.0" destination-interface-name="gr-0/0/0.2" sla-rule="sla1" active-probe-params="probe1" destination-group-name="site1" reason="switch to higher priority link" session-count="1" violation-duration="0" ip-dscp="255" selection-criteria="application" forwarding-nexthop-id="262149" server-ip="0.0.0.0" server-url="N/A" previous-link-tag="ISP1" previous-link-priority="10" destination-link-tag="ISP3" destination-link-priority="3"]
参见
示例:配置应用程序跟踪
此示例说明如何配置 AppTrack 跟踪工具,以便您可以分析网络的带宽使用情况。
要求
在配置 AppTrack 之前,请确保您已下载、安装应用程序签名包并验证应用程序标识配置是否正常工作。请参阅 手动下载和安装 Junos OS 应用程序签名包 或 下载并安装 Junos OS 应用程序签名包作为 IDP 安全包的一部分。使用 show services 应用程序标识状态 命令验证状态。
概述
默认情况下,应用程序标识处于启用状态,并在您配置 AppTrack、AppFW 或 IDP 服务时自动打开。瞻博网络安全分析 (JSA) 检索数据并提供基于流的应用程序可见性。STRM 包括对 AppTrack 报告的支持,并包括多个预定义的搜索模板和报告。
从 Junos OS 21.1R1 开始,请注意以下日志中的更改:
默认情况下,AppTrack 会话创建日志 (APPTRACK_SESSION_CREATE) 处于禁用状态。使用以下命令启用它:
user@host# set security application-tracking log-session-create
默认情况下,AppTrack 会话关闭日志 (APPTRACK_SESSION_CLOSE) 处于禁用状态。使用以下语句启用它:
user@host# set security application-tracking log-session-close
您可以使用以下语句禁用 AppTrack 会话卷更新日志 (APPTRACK_SESSSION_VOL_UPDATE):
user@host# set security application-tracking no-volume-updates
配置
此示例演示如何为名为信任的安全区域启用应用程序跟踪。第一条日志消息将在会话开始时生成,之后应每 4 分钟发送一次更新消息。应在会话结束时发送最后一条消息。
该示例还演示如何添加远程系统日志设备配置以接收 sd-syslog 格式的 AppTrack 日志消息。导出安全日志时使用的源 IP 地址为 192.0.2.1,安全日志将发送到位于地址 192.0.2.2 的主机。
AppSecure 服务的 J-Web 页面是初步的。我们建议使用 CLI 来配置 AppSecure 功能。
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
session-update-interval
在大多数情况下,不需要更改和first-update-interval
。此示例中包含这些命令以演示其用法。
user@host# set security log mode stream user@host# set security log format sd-syslog user@host# set security log source-address 192.0.2.1 user@host# set security log stream app-track-logs host 192.0.2.2 user@host# set security zones security-zone trust application-tracking user@host# set security application-tracking session-update-interval 4 user@host# set security application-tracking first-update-interval 1
在SRX5600和SRX5800设备上,如果系统日志配置未指定目标端口,则默认目标端口将为系统日志端口。如果在 syslog 配置中指定目标端口,则将改用该端口。
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何执行此操作的说明,请参阅 CLI 用户指南。
要配置 AppTrack,请执行以下操作:
添加远程系统日志设备配置以接收 sd-syslog 格式的 Apptrack 消息。
[edit] user@host# set security log mode stream user@host# set security log format sd-syslog user@host# set security log source-address 192.0.2.1 user@host# set security log stream app-track-logs host 192.0.2.2
为安全区域信任启用 AppTrack。
[edit] user@host# set security zones security-zone trust application-tracking
(可选)对于此示例,每 4 分钟生成一次更新消息。
[edit] user@host# set security application-tracking session-update-interval 4
消息之间的默认间隔为 5 分钟。如果会话在此更新间隔内开始和结束,AppTrack 将在会话关闭时生成一条消息。但是,如果会话是长期存在的,则每 5 分钟发送一次更新消息。可配置,
session-update-interval minutes
如此步骤所示。(可选)对于此示例,请在一分钟后生成第一条消息。
[edit] user@host# set security application-tracking first-update-interval 1
默认情况下,第一条消息在第一个会话更新间隔过后生成。要在与此不同的时间生成第一条消息,请使用
first-update-interval minutes
选项(在指定的分钟后生成第一条消息)。注意:first-update
选项和first-update-interval minutes
选项是互斥的。如果同时指定两者,则忽略该first-update-interval
值。从 Junos OS 21.1R1 开始,该
first-update
语句将被弃用(而不是立即删除),以提供向后兼容性。生成第一条消息后,每次达到会话更新间隔时都会生成一条更新消息。
结果
在配置模式下,输入 show security
和 show security zones
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
为简洁起见,此 show
命令输出仅包含与此示例相关的配置。系统上的任何其他配置都已替换为省略号 (...)。
[edit] user@host# show security
... application-tracking { first-update-interval 1; session-update-interval 4; } log { mode stream; format sd-syslog; source-address192.0.2.2; stream app-track-logs { host { 192.0.2.1; } } } ...
[edit] user@host# show security zones ... security-zone trust { ... application-tracking; }
如果完成设备配置,请从配置模式输入 commit
。
验证
使用远程日志记录设备上的 JSA 产品查看 AppTrack 日志消息。
要确认配置工作正常,您还可以在设备上执行这些任务。
查看 AppTrack 统计信息
目的
查看 AppTrack 统计信息以查看所跟踪流量的特征。
行动
在操作模式下,输入 show services application-identification statistics applications
命令。
user@host> show services application-identification statistics applications
Last Reset: 2012-02-14 21:23:45 UTC Application Sessions Bytes Encrypted HTTP 1 2291 Yes HTTP 1 942 No SSL 1 2291 Yes unknown 1 100 No unknown 1 100 Yes
有关该 show services application-identification statistics applications
命令的详细信息,请参阅 显示服务应用程序标识统计信息应用程序。
验证 AppTrack 计数器值
目的
定期查看 AppTrack 计数器以监控日志记录活动。
行动
在操作模式下,输入 show security application-tracking counters
命令。
user@host> show security application-tracking counters
AVT counters: Value Session create messages 1 Session close messages 1 Session volume updates 0 Failed messages 0
验证安全流会话统计信息
目的
将记录的消息中的字节和数据包计数与命令输出中的 show security flow session
会话统计信息进行比较。
行动
在操作模式下,输入 show security flow session
命令。
user@host> show security flow session
Flow Sessions on FPC6 PIC0: Session ID: 120000044, Policy name: policy-in-out/4, Timeout: 1796, Valid In: 192.0.2.1/24 --> 198.51.100.0/21;tcp, If: ge-0/0/0.0, Pkts: 22, Bytes: 1032 Out: 198.51.100.0/24 --> 192.0.2.1//39075;tcp, If: ge-0/0/1.0, Pkts: 24, Bytes: 1442 Valid sessions: 1 Pending sessions: 0 Invalidated sessions: 0 Sessions in other states: 0 Total sessions: 1
会话统计信息中的字节和数据包总数应接近 AppTrack 记录的计数,但可能不完全相同。AppTrack 仅对传入字节和数据包进行计数。系统生成的数据包不包括在总数中,并且不会扣除丢弃的数据包。
验证应用程序系统缓存统计信息
目的
比较命令输出中的 show services application-identification application-system-cache
缓存统计信息,例如应用程序的 IP 地址、端口、协议和服务。
行动
在操作模式下,输入 show services application-identification application-system-cache
命令。
示例:启用 SSL 代理时配置应用程序跟踪
此示例介绍启用 SSL 代理时 AppTrack 如何支持 AppID 功能。
要求
准备工作:
创建区域。请参见 示例:创建安全区域。
创建通过策略启用 SSL 代理的 SSL 代理配置文件。请参阅 配置 SSL 转发代理。
概述
您可以在“收件人”或“发件人”区域中配置 AppTrack。此示例说明在启用 SSL 代理时如何在策略规则的 to 区域中配置 AppTrack。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
set security zones security-zone Z_1 application-tracking set security policies from-zone Z_1 to-zone Z_2 policy policy1 match source-address any set security policies from-zone Z_1 to-zone Z_2 policy policy1 match destination-address any set security policies from-zone Z_1 to-zone Z_2 policy policy1 then permit application-services ssl-proxy profile-name ssl-profile-1 set security policies from-zone Z_1 to-zone Z_2 policy policy1 then permit
程序
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何执行此操作的说明,请参阅 在配置模式下使用 CLI 编辑器。
在此示例中,您将在 SSL 代理配置文件配置中配置应用程序跟踪并允许应用程序服务。
在目标区域中配置应用程序跟踪(也可以使用从区域进行配置)。
[edit security policies] user@host# set security zones security-zone Z_1 application-tracking
配置 SSL 代理配置文件。
[edit security policies from-zone Z_1 to-zone Z_2 policy policy1] set match source-address any set match destination-address any set match application junos-https set then permit application-services ssl-proxy profile-name ssl-profile-1 set then permit
结果
在配置模式下,输入 show security policies
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
from-zone Z_1 to-zone Z_2 { policy policy1 { match { source-address any; destination-address any; } then { permit { application-services { ssl-proxy { profile-name ssl-profile-1; } } } } } }
验证配置是否正常工作。AppTrack 中的验证的工作方式与 AppFW 中的验证类似。请参阅 示例:启用 SSL 代理时配置应用程序防火墙的验证部分。
禁用应用程序跟踪
默认情况下,应用程序跟踪处于启用状态。您可以在不删除区域配置的情况下禁用应用程序跟踪。
要禁用应用程序跟踪:
user@host# set security application-tracking disable
如果以前已禁用应用程序跟踪,并且您想要重新启用它,请删除指定禁用应用程序跟踪的配置语句:
user@host# delete security application-tracking disable
如果已完成设备配置,请提交配置。
要验证配置,请输入 show security application-tracking
命令。
更改历史记录表
功能支持由您使用的平台和版本决定。使用 功能资源管理器 确定您的平台是否支持某个功能。
dscp-value
和
apbr-rule-type
选项)。
apbr-rule-type
选项。
category
和
subcategory