Citrix ADC

表达式引用-经典表达式

警告

Citrix ADC 12.0 Build 56.20 不再支持经典策略表达式,作为替代方案,Citrix 建议您使用高级策略。有关详细信息,请参阅高级策略

屏幕左侧目录中列出的子主题包含列出 Citrix ADC 经典表达式的表。

在运算符表中,每个运算符的结果类型显示在描述的开头。在其他表中,每个表达式的级别显示在描述的开头。对于命名表达式,每个表达式都显示为整体。

运算符

表达式元素 定义
== 布尔值。如果当前表达式等于参数,则返回 TRUE。对于文本操作,正在比较的项目必须完全匹配。对于数值操作,项目的计算结果必须相同的数值。
!= 布尔值。如果当前表达式与参数不相等,则返回 TRUE。对于文本操作,正在比较的项目不得完全匹配。对于数值操作,项目不得计算为相同的数值。
CONTAINS 布尔值。如果当前表达式包含在参数中指定的字符串,则返回 TRUE。
NOTCONTAINS 布尔值。如果当前表达式不包含在参数中指定的字符串,则返回 TRUE。
CONTENTS 文字。返回当前表达式的内容。
存在 布尔值。如果当前表达式指定的项目存在,则返回 TRUE。
NOTEXISTS 布尔值。如果当前表达式指定的项目不存在,则返回 TRUE。
> 布尔值。如果当前表达式计算结果为大于参数的数字,则返回 TRUE。
< 布尔值。如果当前表达式计算结果为小于参数的数字,则返回 TRUE。
>= 布尔值。如果当前表达式计算结果为大于或等于参数的数字,则返回 TRUE。
<= 布尔值。如果当前表达式计算结果为小于或等于参数的数字,则返回 TRUE。

一般用语

表达式元素 定义
REQ 流量类型。对传入(或请求)数据包进行操作。
REQ.HTTP 协议。在 HTTP 请求上运行。
REQ.HTTP.METHOD 限定符。指定 HTTP 方法。
REQ.HTTP.URL 限定符。指定 URL。
REQ.HTTP.URLTOKENS 限定符。指定 URL 令牌。
REQ.HTTP.VERSION 限定符。指定 HTTP 版本。
REQ.HTTP.HEADER 限定符。指定 HTTP 标头。
REQ.HTTP.URLLEN 限定符。指定 URL 中的字符数。
REQ.HTTP.URLQUERY 限定符。指定 URL 的查询部分。
REQ.HTTP.URLQUERYLEN 限定符。指定 URL 查询部分的长度。
REQ.SSL 协议。对 SSL 请求进行操作。
REQ.SSL.CLIENT.CERT 限定符。指定整个客户端证书。
REQ.SSL.CLIENT.CERT.SUBJECT 限定符。指定客户端证书使用者。
REQ.SSL.CLIENT.CERT.ISSUER 限定符。指定客户端证书的颁发者。
REQ.SSL.CLIENT.CERT.SIGALGO 限定符。指定客户端证书使用的验证算法。
REQ.SSL.CLIENT.CERT.VERSION 限定符。指定客户端证书版本。
REQ.SSL.CLIENT.CERT.VALIDFROM 限定符。指定客户端证书无效之前的日期。
REQ.SSL.CLIENT.CERT.VALIDTO 限定符。指定客户端证书无效之后的日期。
REQ.SSL.CLIENT.CERT.SERIALNUMBER 限定符。指定客户端证书的序列号。
REQ.SSL.CLIENT.CIPHER.TYPE 限定符。指定客户端使用的加密协议。
REQ.SSL.CLIENT.CIPHER.BITS 限定符。指定客户端 SSL 密钥使用的位数。
REQ.SSL.CLIENT.SSL.VERSION 限定符。指定客户端正在使用的 SSL 版本。
REQ.TCP 协议。对传入的 TCP 数据包进行操作。
REQ.TCP.SOURCEPORT 限定符。指定传入数据包的源端口。
REQ.TCP.DESTPORT 限定符。指定传入数据包的目标端口。
REQ.IP 协议。对传入的 IP 数据包进行操作。
REQ.IP.SOURCEIP 限定符。指定传入数据包的源 IP。
REQ.IP.DESTIP 限定符。指定传入数据包的目标 IP。
RES 流量类型。对传出(或响应)数据包进行操作。
RES.HTTP 协议。在 HTTP 响应上运行。
RES.HTTP.VERSION 限定符。指定 HTTP 版本。
RES.HTTP.HEADER 限定符。指定 HTTP 标头。
RES.HTTP.STATUSCODE 限定符。指定 HTTP 响应的状态代码。
RES.TCP 协议。对传入的 TCP 数据包进行操作。
RES.TCP.SOURCEPORT 限定符。指定传出数据包的源端口。
RES.TCP.DESTPORT 限定符。指定传出数据包的目标端口。
RES.IP 协议。对传出 IP 数据包进行操作。
RES.IP.SOURCEIP 限定符。指定传出数据包的源 IP。这可以是 IPv4 或 IPv6 格式。例如:add expr exp3“sourceip == 10.102.32.123 –netmask 255.255.255.0 && destip == 2001::23/120”。
RES.IP.DESTIP 限定符。指定传出数据包的目标 IP。

客户端安全表达式

使用以下软件在访问网关上配置客户端设置的表达式:

  • 防病毒
  • 个人防火墙
  • 反垃圾邮件
  • 网络安全

有关示例用法,请参阅http://support.citrix.com/article/CTX112599

实际表达式 定义
CLIENT.APPLICATION.AV(<NAME>.VERSION == <VERSION>) 检查客户端是否正在运行指定的防病毒程序和版本。
CLIENT.APPLICATION.AV(<NAME>.VERSION != <VERSION>) 检查客户端是否未运行指定的防病毒程序和版本。
CLIENT.APPLICATION.PF(<NAME>.VERSION == <VERSION>) 检查客户端是否正在运行指定的个人防火墙程序和版本。
CLIENT.APPLICATION.PF(<NAME>.VERSION != <VERSION>) 检查客户端是否未运行指定的个人防火墙程序和版本。
CLIENT.APPLICATION.IS(<NAME>.VERSION == <VERSION>) 检查客户端是否正在运行指定的 Internet 安全程序和版本。
CLIENT.APPLICATION.IS(<NAME>.VERSION != <VERSION>) 检查客户端是否没有运行指定的 Internet 安全程序和版本。
CLIENT.APPLICATION.AS(<NAME>.VERSION == <VERSION>) 检查客户端是否正在运行指定的反垃圾邮件程序和版本。
CLIENT.APPLICATION.AS(<NAME>.VERSION != <VERSION>) 检查客户端是否未运行指定的反垃圾邮件程序和版本。

基于网络的表达式

表达式 定义
REQ 流量类型。对传入或请求数据包进行操作。
REQ.VLANID 限定符。在虚拟局域网 (VLAN) ID 上运行。
REQ.INTERFACE.ID 限定符。在指定的 Citrix ADC 接口的 ID 上运行。
REQ.INTERFACE.RXTHROUGHPUT 限定符。在指定 Citrix ADC 接口的原始接收数据包吞吐量上运行。
REQ.INTERFACE.TXTHROUGHPUT 限定符。在指定 Citrix ADC 接口的原始传输数据包吞吐量上运行。
REQ.INTERFACE.RXTXTHROUGHPUT 限定符。在指定 Citrix ADC 接口的原始接收和传输数据包吞吐量上运行。
REQ.ETHER.SOURCEMAC 限定符。在源 MAC 地址上运行。
REQ.ETHER.DESTMAC 限定符。在目标 MAC 地址上运行。
RES 流量类型。对传出(或响应)数据包进行操作。
RES.VLANID 限定符。在虚拟局域网 (VLAN) ID 上运行。
RES.INTERFACE.ID 限定符。在指定的 Citrix ADC 接口的 ID 上运行。
RES.INTERFACE.RXTHROUGHPUT 限定符。在指定 Citrix ADC 接口的原始接收数据包吞吐量上运行。
RES.INTERFACE.TXTHROUGHPUT 限定符。在指定 Citrix ADC 接口的原始传输数据包吞吐量上运行。
RES.INTERFACE.RXTXTHROUGHPUT 限定符。在指定 Citrix ADC 接口的原始接收和传输数据包吞吐量上运行。
RES.ETHER.SOURCEMAC 限定符。在源 MAC 地址上运行。
RES.ETHER.DESTMAC 限定符。在目标 MAC 地址上运行。

日期/时间表达式

表达式 定义
TIME 限定符。在一天中的日期和时间(GMT)运行。
DATE 限定符。运行的日期,格林威治标准时间。
DAYOFWEEK 在一周的指定日期,格林威治标准时间运行。

文件系统表达式

您可以在授权策略中为通过 Citrix Gateway 文件传输实用程序(VPN 门户)访问文件共享的用户和组指定文件系统表达式。这些表达式与 Citrix Gateway 文件传输授权功能配合使用,可控制用户对文件服务器、文件夹和文件的访问。例如,您可以在授权策略中使用这些表达式来控制基于文件类型和大小的访问。

有关更多信息,请参阅 文件名表达式 pdf。

注意: 文件系统表达式不支持正则表达式。

内置命名表达式(通用)

表达式 定义
ns_all_apps_ncomp 测试与 0 到 65535 之间的目标端口的连接。换句话说,测试所有应用程序。
ns_cachecontrol_nocache 测试具有包含值“无缓存”的 HTTP 缓存控制标头的连接。
ns_cachecontrol_nostore 测试具有包含值“无存储”的 HTTP 缓存控制标头的连接。
ns_cmpclient 测试客户端以确定它是否接受压缩内容。
ns_content_type 测试具有包含“文本”的 HTTP 内容类型标头的连接。
ns_css 测试具有包含“文本/CSS”的 HTTP 内容类型标头的连接。
ns_ext_asp 测试与包含字符串 .aspp 的任何 URL 的 HTTP 连接,也就是说,与活动服务器页面 (ASP) 的任何连接。
ns_ext_cfm 测试到包含字符串 .cfm 的任何 URL 的 HTTP 连接
ns_ext_cgi 测试与包含字符串 .cgii 的任何 URL 的 HTTP 连接,换句话说,是否与公用 Gateway 接口 (CGI) 脚本的任何连接。
ns_ext_ex 测试与包含字符串 .ex 的任何 URL 的 HTTP 连接
ns_ext_exe 测试与包含字符串 .exe 的任何 URL 的 HTTP 连接,换句话说,测试与可执行文件的任何连接。
ns_ext_htx 测试与包含字符串 .htx 的任何 URL 的 HTTP 连接
ns_ext_not_gif 测试与不包含字符串 .giff 的任何 URL 的 HTTP 连接,也就是说,与不是 GIF 图像的 URL 的任何连接。
ns_ext_not_jpeg 测试与不包含字符串 .jpeg的任何 URL 的 HTTP 连接,换句话说,测试与不是 JPEG 图像的 URL 的任何连接。
ns_ext_shtml 测试与包含字符串 .shtmll 的任何 URL 的 HTTP 连接,换句话说,与服务器解析的 HTML 页面的任何连接。
ns_false 始终返回 FALSE 的值。
ns_farclient 客户端位于与 Citrix ADC 不同的地理区域,具体取决于客户端 IP 地址中的地理区域。以下区域已预定义:192.0.0.0 – 193.255.255.255: Multi-regional, 194.0.0.0 – 195.255.255.255: European Union, 196.0.0.0 – 197.255.255.255: Other1, 198.0.0.0 – , 199.255.255.255: North America, 200.0.0.0 – 201.255.255.255: Central and South America, 202.0.0.0 – 203.255.255.255: Pacific Rim, 204.0.0.0 – 205.255.255.255: Other2, and 206.0.0.0 – 207.255.255.255: Other3
ns_header_cookie 测试包含 Cookie 标头的 HTTP 连接。
ns_header_pragma 测试包含 Pragma:无缓存标头的 HTTP 连接。
ns_mozilla_47 测试用户代理标头包含字符串 mozilla/4.7 的 HTTP 连接,换句话说,使用 Mozilla 4.7 Web 浏览器来自客户端的任何连接。
ns_msexcel 测试内容类型标头包含字符串应用程序 /vnd.msexcel-换句话说,传输 Microsoft Excel 电子表格的任何连接。
ns_msie 测试用户代理标头包含字符串 MSIE 的 HTTP 连接,换句话说,使用任何版本的 Internet Explorer Web 浏览器来自客户端的任何连接。
ns_msppt 测试内容类型标头包含字符串应用程序 /vnd.ms Powerpoint 的 HTTP 连接,换句话说,传输 Microsoft PowerPoint 文件的任何连接。
ns_msword 测试其内容类型标头包含字符串应用程序/vnd.msword 的 HTTP 连接,换句话说,传输 Microsoft Word 文件的任何连接。
ns_non_get 测试使用除 GET 之外的任何 HTTP 方法的 HTTP 连接。
ns_slowclient 如果客户端与 Citrix ADC 之间的平均往返时间超过 80 毫秒,则返回 TRUE。
ns_true 返回所有流量的 TRUE。
ns_url_path_bin 测试 URL 路径以查看它是否指向 /bin/ 目录。
ns_url_path_cgibin 测试 URL 路径以查看它是否指向 CGI-BIN 目录。
ns_url_path_exec 测试 URL 路径以查看它是否指向 /exec/目录。
ns_url_tokens 测试是否存在 URL 令牌。
ns_xmldata 测试是否存在 XML 数据。

内置命名表达式(防病毒)

表达式 定义
McAfee Virus Scan 11 测试以确定客户端是否运行最新版本的 McAfee 病毒扫描。
McAfee Antivirus 测试以确定客户端是否运行任何版本的 McAfee 防病毒软件。
Symantec AntiVirus 10(带有更新的定义文件) 测试以确定客户端是否运行最新版本的赛门铁克防病毒软件。
Symantec AntiVirus 6.0 测试以确定客户端是否正在运行赛门铁克防病毒 6.0。
Symantec AntiVirus 7.5 测试以确定客户端是否正在运行赛门铁克防病毒 7.5。
TrendMicro OfficeScan 7.3 测试以确定客户端是否正在运行 Trend Microsystems’ OfficeScan 版本 7.3。
TrendMicro AntiVirus 11.25 测试以确定客户端是否正在运行 Trend Microsystems’ AntiVirus 版本 11.25。
Sophos Antivirus 4 测试以确定客户端是否正在运行 Sophos 防病毒软件版本 4。
Sophos Antivirus 5 测试以确定客户端是否正在运行 Sophos 防病毒软件版本 5。
Sophos Antivirus 6 测试以确定客户端是否正在运行 Sophos 防病毒软件版本 6。

内置命名表达式(个人防火墙)

表达式 定义
TrendMicro OfficeScan 7.3 测试以确定客户端是否正在运行 Trend Microsystems’ OfficeScan 版本 7.3。
Sygate Personal Firewall 5.6 测试以确定客户端是否正在运行 Sygate 个人防火墙版本 5.6。
ZoneAlarm Personal Firewall 6.5 测试以确定客户端是否正在运行 ZoneAlarm 个人防火墙版本 6.5。

内置命名表达式(客户端安全性)

表达式 定义
Norton Internet Security 测试以确定客户端是否正在运行任何版本的诺顿 Internet 安全。