Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

应用程序跟踪

应用程序跟踪 (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 req-reply)。

ICMP error

收到 ICMP 错误(如 dest unreachable)。

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 会话创建、会话关闭和卷更新日志包括新字段 categorysubcategory.这些字段提供有关应用程序属性的一般信息。例如,字段 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-bytesuplink-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_SELECTEDactive-probe-params将显示N/A字段,并显示N/A违规持续时间字段。APPQOE_APP_BEST_PATH_SELECTED日志包含新字段,如 previous-link-tagprevious-link-prioritydestination-link-tagdestination-link-priority,如以下示例所示。如果为 reasonprevious-link-tag则字段将显示N/Aprevious-link-priority字段将显示 0app 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。此示例中包含这些命令以演示其用法。

注意:

在SRX5600和SRX5800设备上,如果系统日志配置未指定目标端口,则默认目标端口将为系统日志端口。如果在 syslog 配置中指定目标端口,则将改用该端口。

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关如何执行此操作的说明,请参阅 CLI 用户指南

要配置 AppTrack,请执行以下操作:

  1. 添加远程系统日志设备配置以接收 sd-syslog 格式的 Apptrack 消息。

  2. 为安全区域信任启用 AppTrack。

  3. (可选)对于此示例,每 4 分钟生成一次更新消息。

    消息之间的默认间隔为 5 分钟。如果会话在此更新间隔内开始和结束,AppTrack 将在会话关闭时生成一条消息。但是,如果会话是长期存在的,则每 5 分钟发送一次更新消息。可配置, session-update-interval minutes 如此步骤所示。

  4. (可选)对于此示例,请在一分钟后生成第一条消息。

    默认情况下,第一条消息在第一个会话更新间隔过后生成。要在与此不同的时间生成第一条消息,请使用 first-update-interval minutes 选项(在指定的分钟后生成第一条消息)。

    注意:

    first-update选项和first-update-interval minutes选项是互斥的。如果同时指定两者,则忽略该first-update-interval值。

    从 Junos OS 21.1R1 开始,该 first-update 语句将被弃用(而不是立即删除),以提供向后兼容性。

    生成第一条消息后,每次达到会话更新间隔时都会生成一条更新消息。

结果

在配置模式下,输入 show securityshow security zones 命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。

为简洁起见,此 show 命令输出仅包含与此示例相关的配置。系统上的任何其他配置都已替换为省略号 (...)。

如果完成设备配置,请从配置模式输入 commit

验证

使用远程日志记录设备上的 JSA 产品查看 AppTrack 日志消息。

要确认配置工作正常,您还可以在设备上执行这些任务。

查看 AppTrack 统计信息

目的

查看 AppTrack 统计信息以查看所跟踪流量的特征。

行动

在操作模式下,输入 show services application-identification statistics applications 命令。

注意:

有关该 show services application-identification statistics applications 命令的详细信息,请参阅 显示服务应用程序标识统计信息应用程序

验证 AppTrack 计数器值

目的

定期查看 AppTrack 计数器以监控日志记录活动。

行动

在操作模式下,输入 show security application-tracking counters 命令。

验证安全流会话统计信息

目的

将记录的消息中的字节和数据包计数与命令输出中的 show security flow session 会话统计信息进行比较。

行动

在操作模式下,输入 show security flow session 命令。

会话统计信息中的字节和数据包总数应接近 AppTrack 记录的计数,但可能不完全相同。AppTrack 仅对传入字节和数据包进行计数。系统生成的数据包不包括在总数中,并且不会扣除丢弃的数据包。

验证应用程序系统缓存统计信息

目的

比较命令输出中的 show services application-identification application-system-cache 缓存统计信息,例如应用程序的 IP 地址、端口、协议和服务。

行动

在操作模式下,输入 show services application-identification application-system-cache 命令。

验证应用程序标识计数器值的状态

目的

比较命令输出中 show services application-identification counter 应用程序标识计数器值的会话统计信息。

行动

在操作模式下,输入 show services application-identification counter 命令。

示例:启用 SSL 代理时配置应用程序跟踪

此示例介绍启用 SSL 代理时 AppTrack 如何支持 AppID 功能。

要求

准备工作:

概述

您可以在“收件人”或“发件人”区域中配置 AppTrack。此示例说明在启用 SSL 代理时如何在策略规则的 to 区域中配置 AppTrack。

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit] 中,然后从配置模式进入 commit

程序

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关如何执行此操作的说明,请参阅 在配置模式下使用 CLI 编辑器

在此示例中,您将在 SSL 代理配置文件配置中配置应用程序跟踪并允许应用程序服务。

  1. 在目标区域中配置应用程序跟踪(也可以使用从区域进行配置)。

  2. 配置 SSL 代理配置文件。

结果

在配置模式下,输入 show security policies 命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。

注意:

验证配置是否正常工作。AppTrack 中的验证的工作方式与 AppFW 中的验证类似。请参阅 示例:启用 SSL 代理时配置应用程序防火墙的验证部分。

禁用应用程序跟踪

默认情况下,应用程序跟踪处于启用状态。您可以在不删除区域配置的情况下禁用应用程序跟踪。

要禁用应用程序跟踪:

如果以前已禁用应用程序跟踪,并且您想要重新启用它,请删除指定禁用应用程序跟踪的配置语句:

如果已完成设备配置,请提交配置。

要验证配置,请输入 show security application-tracking 命令。

更改历史记录表

功能支持由您使用的平台和版本决定。使用 功能资源管理器 确定您的平台是否支持某个功能。

释放
描述
20.4R1
从 Junos OS 版本 20.4R1 开始,将更新 AppQoE 的 AppTrack 会话日志,例如选择的最佳路径、SLA 指标违规、SLA 指标报告。
19.3R1
从 Junos OS 版本 19.3R1 开始,AppTrack 会话日志(例如会话关闭、卷更新、路由更新和RT_FLOW_NEXTHOP_CHANGE包含 dscp-valueapbr-rule-type 选项)。
19.3R1
从 Junos OS 版本 20.1R1 开始,AppTrack 会话日志(如会话关闭、卷更新、路由更新)包括 apbr-rule-type 选项。
19.1R1
从 Junos OS 版本 19.1R1 开始,AppTrack 会话关闭日志包括新的字段源标识,用于检查会话创建日志和会话关闭日志以及用户名和角色。
18.2R1
从 Junos OS 版本 18.2R1 开始,AppTrack 会话关闭日志包括用于记录通过上行链路接口传输和接收的数据包字节的新字段。
18.2R1
从 Junos OS 18.2R1 版开始,为 AppQoE(应用程序体验质量)添加了新的应用程序跟踪消息。
17.4R1
从 Junos OS 版本 17.4R1 开始,AppTrack 会话创建、会话关闭和卷更新日志包括新字段 categorysubcategory
15.1X49-D170
从 Junos OS 版本 15.1X49-D170 开始,AppTrack 会话创建、会话关闭、路由更新和卷更新日志得到增强,可为源 VRF 和目标 VRF 包含 VRF 名称。
15.1X49-D100
从 Junos OS 版本 15.1X49-D100 开始,AppTrack 会话创建、会话关闭和卷更新日志包括一个名为 目标接口的新字段。
15.1X49-D100
从 Junos OS 版本 15.1X49-D100 开始,添加了用于路由更新的新 AppTrack 日志,以包括 APBR 配置文件、规则和路由实例详细信息。
15.1X49-D100
从 Junos OS 版本 21.1R1 开始,AppTrack 会话创建和会话关闭日志默认处于禁用状态。