??xml version="1.0" encoding="utf-8" standalone="yes"?>
1Q把properties文g的内容读取到Properties对象中保存?使用ҎQ?Properties props = new Properties(); FileInputStream istream = null; istream = new FileInputStream(configFileName); props.load(istream); istream.close();
2Q对d的内容进行解?
2.1q行是否输出内部异常信息的判?Q通过是否指定参数“log4j.debug”来判?br /> 2.2q行是否复位所有配|信息的判断Q通过是否指定参数“log4j.reset”来判?br /> 2.3q行是否讑֮q域log的level的判断,通过是否指定参数“log4j.threshold”来判?
2.4q行RootLogger的设?
2.4.1 取得RootLogger
2.4.2 取得RootLogger对应的Appender
2.4.2.1取得Appender的Layout,Layoutq加到Appender?
//1 讑֮Layout的属?//2 讑֮
Appender的属?
2.4.3 Appenderq加到RootLogger?
2.5q行LoggerFactory的设?br /> 2.5.1 取得指定参数“log4j.loggerFactory”的|q生成Factorycȝ实例
2.5.2 讑֮生成Factorycȝ实例的属?
2.6q行RootLogger以外其他Logger的设?
2.6.1取得其他的category
2.6.1.1 讄category的level属?
2.6.1.2 取得category对应的Appender 取得Appender的Layout,Layoutq加到Appender?//1 讑֮Layout的属?//2 讑֮Appender的属?br /> 2.6.1.3 讄category的是否承parent的属?
2.6.1.4 讄category的输出log的渲染类
二,xml文g当用xml文gq行配置的时候,对应的src为DOMConfigurator。这个DOMConfigurator classl承了接?ConfiguratorQƈ实现doConfigureҎ?
对xml文gq行d的过E?与对properties文gq行解析的内容大致相?不再重复. 不同Ҏ以下几个地方
//1 使用DOMAPIdxml文g,q从dom中取得各个node的内?
//2 属性的名称不一?
]]>
以下列出在NTpȝ中基本的|络命o和用方法:
一、ipconfig命oQ?br />ipconfig命o应该是最最基础的命令了Q主要功能就是显C用h在主机内部的IP协议的配|信息等资料?br />它的主要参数有:
allQ显CZTCP/IP协议相关的所有细节信息,其中包括试的主机名、IP地址、子|掩码、节点类型、是否启用IP路由、网卡的物理地址、默认网关等?br />renew allQ更新全部适配器的通信配置情况Q所有测试重新开始?br />release allQ释攑օ部适配器的通信配置情况?br />renew nQ更新第n号适配器的通信配置情况Q所有测试重新开始?
例如Q?br />C:\>ipconfig
Windows IP Configuration
Ethernet adapter 本地q接:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.0.14
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1
二、Net命oQ?br />Net命o主要是在windows NTq_中完成一些网l工作,它的功能非常强大Q可以这么说如果你想学习windowsq_下的|络安全Q必ȝ悉用该命o。该命o的语法很多,功能强大Q我们只是介l一些简单常用的?/p>
1.建立IPCq接:
只要你拥有某IP的用户名和密码,那就用IPC$做连?q里我们假如你得到的用户是管理员administratorQ密码是123456。假讑֯方IP?92.168.0.1
net use \\192.168.0.1\ipc$ "123456" /user:"administrator"
一般会昄如下信息Q?br />C:\>net use \\192.168.0.1\ipc$ "123456" /user:"administrator"
命o成功完成?/p>
退出的命o是:net use \\192.168.0.1\ipc$ /del
一般执行后会显C如下信息:
C:\>net use \\192.168.0.1\ipc$ /del
\\192.168.0.1\ipc$ 已经删除?/p>
当然你也可以建立一个空的IPCq接Q也是我们常说的空q接Q也是不需要用户名和密码的IPCq接Q一般徏立这c连接后可以获取对方的很多pȝ信息Q比如用户名Q共享资源等。徏立空q接和徏立IPCq接是一LQ不q是不需要用户名和密?例如我们要徏立和IP地址?92.168.0.39的机器的I接,使用以下命oQ?br />net use \\192.168.0.39\ipc$ "" /user""
如果提示成功徏立了和该IP地址的空q接Q然后通过其它命o可以获取一些该pȝ的信息,q些pȝ信息在入侉|者是|络l护中是L非常重要的作用的Q比如你获取了用户名Q那么你可以进行暴力破解密码等?/p>
2.映射盘Q?br />如果和对方徏立了IPCq接Q那么就可以映射Ҏ的磁盘?br />q里是讲映射Ҏ的C盘,当然其他盘也可以Q只要存在就行了.我们q里把对方的C盘映到本地的Z?
net use z:\\127.0.0.1\c$
执行命o后效果如下:
C:\>net use z: \\192.168.0.92\c$
命o成功完成?/p>
如果q么映射盘后,我们可以直接通过讉K本地的Z盘来讉K对反的E盘?/p>
3.打开服务Q?br />如果x开自己的一些服务,那么可以用net start命oQ例如:
net start telnet
可以打开Telnet服务了?br />一般有如下信息昄Q?br />C:\>net start telnet
Telnet 服务正在启动 .
Telnet 服务已经启动成功?br />C:\>
4.关闭服务Q?br />关闭服务使用net stop命oQ例如:
net stop tenet //可以关闭Telnet服务?br />一般执行后Q有如下信息Q?br />C:\>net stop telnet
Telnet 服务正在停止.
Telnet 服务已成功停止?br />C:\>
5.建立用户Q?br />必须有够的权限Q徏立用户可以是本机Q如果是Ҏ的机器,必须q程登陆到对方系l,或者获得了一个shell后才能执行。(输入命o时要注意I格)
我们d一个hacker的用户密码ؓlovehackerQ?br />net user hacker lovehacker /add
只要昄命o成功Q那么我们可以把他加入Administratorl?理员组Q了Q?br />net localgroup Administrators hacker /add
6.Ȁzȝ?停止用户:
Guest用户默认是打开?但是有写理员会把它停止,我们怎么把它从新Ȁzd?可以使用net user命oQ?br />net user guest /active:yes
如果我们惛_止一个活动用P比如停止Guest用户Q?br />net user guest /active:no
7.昄|络资源׃n状况
net viewQ可以显C网l资源共享状况,比如执行 net view \\IP地址,可以查看该机器的资源共享状况,前提是必d立了IPCq接Q当然你可以建立一个空的IPCq接Q也是不需要用户名和密码的IPCq接?上面的IPCq接有讲刎ͼ请仔l阅?例如Q?br />C:\>net view \\192.168.0.39
?\\192.168.0.39 的共享资?br />׃n?cd 使用?注释
--------------------------------------------------------
ftproot Disk
webroot Disk
命o成功完成?/p>
8.发送网l消息:
使用net send命o可以l局域网/q域|发送一条消?格式为:net send IP地址 “消息内容“,如:
net send 192.168.0.1 "q是net send发送的消息!"
那么一回儿?92.168.0.1的机器将出现一个标题ؓ“信服务”的窗口,里面昄了你发送的消息Q当然如果对方关闭了Messenger服务的话Q这条消息是不会昄的,如果你不x到该cL息,也可以在服务中把Messenger服务关闭?/p>
三、At命oQ?br />1.本地QT命oQ?br />at命o是一个计划Q务命令,和我们windows中的计划d效果是一LQ但是它是通过命o的方式?br />一般我们可以在本机上直接用at命o来运行一些已l存在的E序Q比如现在是19:58Q我们想?0:00的时候运行cmd.exe打开Qat 20:00 c:\winnt\system32\cmd.exe
那么׃昄“新加了一作业,其作?ID = 1"Q然后在执行"at"命o可以看见以下信息:
状?ID 日期 旉 命o?br />-----------------------------------------------------------------------
1 今天 下午 20:00 cmd.exe
那么?0:00׃打开一的cmd的窗口。如果想取消计划d的话Q可以用以下命令:
at ID?/delQテQ号是上面昄的テQ?->1Q那么如果我们要取消QD为1的计划Q务,可以执行下面的命oQ?br />at 1 /del
如果对该命o有不熟悉的的地方Q可以用at /?命o来查看它的帮助?/p>
2.q程QT命oQ?br />一般一个入侵者入侵后都会留下后门Q也是U木马了Q你把木马传了上去,怎么启动他呢Q?br />那么需要用AT命oQ这里假设你已经登陆了那个服务器,你首先要得到Ҏ的时_
net time \\127.0.0.1
会q回一个时_q里假设旉?2:1Q现在需要新Z个作业,其ID=1Q?br />at \\127.0.0.1 12:3 c:\winnt\system32nc.exe
后面的\径是要运行的E序在对方磁盘的目录Q这个要搞清楚?br />q里假设了一个木马,名ؓNC.EXEQ这个东西要在对Ҏ务器上?/p>
四、Telnet命oQ?br />Telnet命o是一个远E登陆的命oQ就可以通过q个命o来远E登陆网l上已经开发了q程l端功能的服务器Q来辑ֈ像本地计机理q程计算机?br />该命令格式:telnet q程LIP 端口
例如:telnet 192.168.0.1 23
如果我们不输入端?则默认ؓ23端口?br />一般登陆后Q对方远E终端服务就会要求你输入用户名和密码Q正就让你登陆?br />一般出现如下消息:
Welcome to Microsoft Telnet Service
login: root
password: ******
如果登陆成功后将出现如下信息Q?br />*===========================================
Welcome to Microsoft Telnet Server.
*===========================================
C:\Documents and Settings\root>
那么代表你通过telnetCҎ的系l,可以做在你用户权限内的所有事情啦Q?/p>
五、FTP命oQ?br />FTP命o是一个文件传输的命oQ该命o可以在两C联的机器之间传送文Ӟq跟我们常用的FTP软g是一LQ但是我们的软g一般都是GUI(可视)界面的,但它是命令类型的?br />FTP命o主要是在|上q行文g的传输,它的子命令非常多Q我们挑一些主要的来讲?br />一般在命o提示W下输入FTP后,打开如下界面Q?br />C:\>ftp
ftp>
那么我们输入的命令都是在"ftp>"后面的,也就是说我们输入ftp命o后,那么我们p入了FTP的^収ͼ所有的操作都是ZFTP上的。假如我们要打开一台网l上已经开了FTP服务的服务器Q那么我们就可以登陆到该服务?然后上传/下蝲文g,有时候我们的权限是只能下?那么我们׃能上?q具体要看你有的权限?br />假如我们要打开一个FTP服务?那么我们可以在FTPq_下输入:
open LIP 端口
例如Qftp>open 192.168.0.39 21Q那么就会显CZ面的效果Q?/p>
C:\>ftp
ftp> open 192.168.0.39
Connected to 192.168.0.39.
220 Serv-U FTP Server v4.2 for WinSock ready...
User (192.168.0.39:(none)):
到这里就需要我们输入用户名Q如果是Ҏ的服务器是支持匿名的Q那么我们就可以输入像ftp之类的用P如:
User (192.168.0.39:(none)): ftp
331 User name okay, please send complete E-mail address as password.
Password:
密码也是输入ftpQ那么就会显C登陆成功,如下Q?/p>
Password: ***
230-(Ƣ迎你来到FTP192.168.0.39服务?Q?br />230 User logged in, proceed.
ftp>
昄230׃表代表登陆成功,如果昄别的Q比?30Q那么就是用户名或密码错误,登陆p|?br />登陆后就可以使用一些命令,包括上传/下蝲Q执行外部命令等。要获得FTP的所有命令,可以键入help命oQ它所有命令列表如下:
ftp> help
Commands may be abbreviated. Commands are:
! delete literal prompt send
? debug s put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote ser
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
我们把常用的命o解释一下:
1Q?Q执行一个非FTPq_下的外部命oQ如Q?clsQ那么将清除屏幕?br />2QdeleteQ删除一个文Ӟ比如在你的当前FTP根目录下有一个dir1.txt的文Ӟ你需要删除它Q就输入 delete dir1.txt?br />3QlsQ列出现在有的文件列表,该命令是Unix/Linux下的一个命令,主要是列目录下的文gQ而不文件夹
4QputQ从本地计算Z传一个文件到FTP服务器上Q例如:put cmd.exeQ那么就会把当前目录下有的cmd.exe传的FTP服务?Q上的当前目?该命令是最常用的?br />6QasciiQ该命o可以使上传的文g是按照ASCII码来传输的?br />7QgetQ该命o也比较常用,也是把对方FTP服务器上的文件下载到自己的当前目录。如Qget cmd.exeQ就会把FTP服务器上?br />8Qcmd.exe文g下蝲到当前目录?br />9Qmdelete/rmdirQ删除一个目?文g?比如Qmdelete a Q那么该文g夹将被删除?br />10QpwdQ显C当前所处在FTP的那个目录下Q相当于昄当前路径。例如:
ftp> pwd
257 "/SOFTWARE/safe_tools" is current directory.
11Qquit/byeQ结束当前的FTPq接Qƈ且退出FTP?br />12QtypeQ设定文件传输类型,cd有: [ ascii | binary | image | tenex ],如果你是传文本文件之cȝ׃用ascii码,如果是应用程序的话,׃用binaryQ如果是囄׃用image。FTP默认的是ascii码,如果你要传应用程序,p使用binary。例如我们要上传一个lk.exe的文Ӟ那么我们先设|传输模式ؓbinaryQ然后再上传,如:
ftp> type binary
200 Type set to I.
ftp> put lk.exe
200 PORT Command successful.
150 Opening BINARY mode data connection for lk.exe.
226 Transfer complete.
ftp: 3800 bytes sent in 0.01Seconds 380.00Kbytes/sec.
ftp>
13QmgetQ同时下载多个文件?br />14QmputQ同时上传多个文件?br />15QuserQ向q程L器表Cqw䆾Q如Q?br />ftp> user
Username: ftp
331 User name okay, please send complete E-mail address as password.
Password: ***
230 User logged in, proceed.
16QcdQ切换目录,q入一个目录用cd 目录,退C一个层目录使用cd ..Q注意中间有一个空?Q该命o比较常用?br />17Qhelp/?Q显C帮助,主要是显C在FTP下可以用的命令?br />18QrenameQ重命名Q给文g重新命名?br />19QcloseQ关闭当前的FTPq接Q但是不退出FTPQ和quit/bye命o不一栗如Q?br />ftp> clos
221 Goodbye!
ftp>
20Qopen 打开一个FTPq接。如Q?br />ftp> open 192.168.0.39
Connected to 192.168.0.39.
220 Serv-U FTP Server v4.2 for WinSock ready...
User (192.168.0.39:(none)):
FTP中比较常用的命op些,当然q设计一些别的命令,而且也要因不同的FTP服务器支持的命o不一栯定Q所以如果碰到实际应用中不同Q请参考相关的资料?/p>
六、ping命oQ?br />ping命o是一个在|络中非帔R要的q且常用的命令,主要是用来测试网l是否连通。该命o通过发送一个ICMP Q网l控制消息协议)包的回应来看是否和对方连通,一般我们用来测试目标主机是否可以连接,或者可以通过TTL值来判断Ҏ的操作系l的版本?br />比如你想试你和IP地址?92.168.0.1的机器是否连通,那么可以用这个命令:ping 192.168.0.1Q那么如果连通就会有如下q回Q?br />C:\>ping 192.168.0.1
Pinging 192.168.0.1 with 32 bytes of data:
Reply from 192.168.0.1: bytes=32 time<1ms TTL=128
Reply from 192.168.0.1: bytes=32 time<1ms TTL=128
Reply from 192.168.0.1: bytes=32 time<1ms TTL=128
Reply from 192.168.0.1: bytes=32 time<1ms TTL=128
Ping statistics for 192.168.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
如果不连通的话,׃q回时Q?br />C:\>ping 192.168.0.1
Pinging 192.168.0.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 192.168.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
那么p明你和该计算机的|络不通,也许是对Ҏ有上|,或者装了防火墙?/p>
在局域网中,如果是同一个工作组的机器,你可以通过pingҎ的机器名U获得对方的IP地址Q如Q?br />C:\>ping hysw
Pinging hysw [192.168.0.14] with 32 bytes of data:
Reply from 192.168.0.14: bytes=32 time<1ms TTL=64
Reply from 192.168.0.14: bytes=32 time<1ms TTL=64
Reply from 192.168.0.14: bytes=32 time<1ms TTL=64
Reply from 192.168.0.14: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.0.14:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
在ping里面q有一?-t 参数Q是可以不间断的向一个机器发送包,使用-l 包大参数还能设定发送包的最大|q样差不多句有了DoS的功能了Q也是在黑客技术中的洪水攻击,最大gؓ65500。如Q?/p>
C:\>ping 192.168.0.1 -t -l 65500
Pinging 192.168.0.1 with 65500 bytes of data:
Reply from 192.168.0.1: bytes=65500 time=14ms TTL=128
Reply from 192.168.0.1: bytes=65500 time=13ms TTL=128
Reply from 192.168.0.1: bytes=65500 time=14ms TTL=128
Reply from 192.168.0.1: bytes=65500 time=13ms TTL=128
Reply from 192.168.0.1: bytes=65500 time=14ms TTL=128
Reply from 192.168.0.1: bytes=65500 time=14ms TTL=128
Ping statistics for 192.168.0.1:
Packets: Sent = 6, Received = 6, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 13ms, Maximum = 14ms, Average = 13ms
Control-C
^C
C:\>
因ؓ加了-t参数Qping命o本n是不会停止的Q于是我们就可以使用Ctrl + C来终止该命o。ping命oq有一些别的参敎ͼ误己参考帮助?/p>
七、netstat命oQ?br />netstat命o的功能是昄|络q接、\p和网l接口信息,可以让用户得知目前都有哪些网l连接正在运作?
它能验IP的当前连接状态,在断定你的基本通信正在q行后,p验证pȝ上的服务。这个服务包括检查正在收听输入的通信量和Q或验证你正在创Z个与q程站点的会话,它可以很L地做到这一炏V?br />netstat的参数有Q?br />-a 昄所有socketQ包括正在监听的?br />-c 每隔1U就重新昄一遍,直到用户中断它?br />-i 昄所有网l接口的信息Q格式同“ifconfig -e”?br />-n 以网lIP地址代替名称Q显C出|络q接情Ş?br />-r 昄核心路由表,格式?#8220;route -e”?br />-t 昄TCP协议的连接情c?br />-u 昄UDP协议的连接情c?br />-v 昄正在q行的工作?/p>
我们一般常用的参数?a ,-n。?a参数可以昄本机正在监听的端口,包括TCP/UDP两种协议的端口,一般这h们可以查看本机器的监听状况,可以查看是不是有后门工具在工作等。例如:
C:\>netstat -a
Active Connections
Proto Local Address Foreign Address State
TCP hysw:echo hysw:0 LISTENING
TCP hysw:discard hysw:0 LISTENING
TCP hysw:daytime hysw:0 LISTENING
TCP hysw:qotd hysw:0 LISTENING
TCP hysw:chargen hysw:0 LISTENING
TCP hysw:epmap hysw:0 LISTENING
TCP hysw:microsoft-ds hysw:0 LISTENING
TCP hysw:1025 hysw:0 LISTENING
TCP hysw:2103 hysw:0 LISTENING
TCP hysw:2105 hysw:0 LISTENING
TCP hysw:2107 hysw:0 LISTENING
TCP hysw:3306 hysw:0 LISTENING
TCP hysw:1034 localhost:3306 ESTABLISHED
TCP hysw:3306 localhost:1034 ESTABLISHED
TCP hysw:netbios-ssn hysw:0 LISTENING
UDP hysw:echo *:*
UDP hysw:discard *:*
UDP hysw:daytime *:*
UDP hysw:qotd *:*
UDP hysw:chargen *:*
UDP hysw:epmap *:*
UDP hysw:microsoft-ds *:*
UDP hysw:isakmp *:*
UDP hysw:ntp *:*
UDP hysw:ntp *:*
UDP hysw:netbios-ns *:*
UDP hysw:netbios-dgm *:*
C:\>
一?n参数主要是显C本地的q接状况Q包括本接其他系l和其它pȝq接本机Q包括主机的IP和端口,如:
C:\>netstat -n
Active Connections
Proto Local Address Foreign Address State
TCP 127.0.0.1:1034 127.0.0.1:3306 ESTABLISHED
TCP 127.0.0.1:3306 127.0.0.1:1034 ESTABLISHED
TCP 192.168.0.14:1371 192.168.0.159:21 ESTABLISHED
C:\>
八、nbtstat命oQ?br />nbtstat和netstat可以说都是Windows下的|络工?NBTSTAT命o:用于查看当前ZNETBIOS的TCP/IPq接状态,通过该工具你可以获得q程或本地机器的l名和机器名 。虽然用户用ipconfig工具可以准确地得C机的|卡地址Q我们通过在自׃|的机器上用nbtstat命oQ可以获取另一C|主机的|卡地址和用户名工作l等信息Q这些信息对入R臛_重要?/p>
常用参数说明Q?br /> -a Remotename——说明使用q程计算机的名称列出其名U表Q此参数可以通过q程计算机的NetBios名来查看他的当前状态?br /> -A IP address——说明使用q程计算机的 IP 地址q列出名U表Q这个和-a不同的是是q个只能使用IPQ其?a包括了-A的功能了?br /> -c——列出q程计算机的NetBIOS 名称的缓存和每个名称?IP 地址 q个参数是用来列出在你的NetBIOS里缓存的你连接过的计机的IP?br /> -S—— 在客L和服务器会话表中只显CE计机的IP地址?/p>
使用-A参数获取Ҏ的工作组和用户名Q?br />C:\>nbtstat -A 192.168.0.14
本地q接:
Node IpAddress: [192.168.0.14] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
HYSW <00> UNIQUE Registered
MSHOME <00> GROUP Registered
HYSW <20> UNIQUE Registered
MSHOME <1E> GROUP Registered
ROOT <03> UNIQUE Registered
MAC Address = 00-E0-4C-A3-F3-1C
昄为GROUP的前面的MSHOME是工作l,证明该机器是在MSHOME工作l里Q下面的<03>前面昄的ROOT是用户名了Q系l用户名为root。其它的一些参数可以自己去试Q或者查看相兛_助来掌握?/p>
九、tracert命oQ?br />tracert命o主要用来昄数据包到辄的主机所l过的\径,昄数据包经q的中节点清单和到达时间?br />该命令的使用格式Qtracert LIP地址或主机名
执行l果q回数据包到辄的主机前所历的中断站清单,q显C到达每个站的旉。该功能同ping命ocMQ但它所看到的信息要比ping命o详细得多Q它把你送出的到某一站点的请求包Q所走的全部路由均告诉你Qƈ且告诉你通过该\qIP是多,通过该IP的时延是多少?/p>
该命令参数有Q?br />-dQ不解析目标L的名U?
-hQ?maximum_hops 指定搜烦到目标地址的最大蟩跃数
-jQhost_list 按照L列表中的地址释放源\?
-wQtimeout 指定时旉间隔Q程序默认的旉单位是毫U?/p>
使用tracert命o可以很好的连接和目标L的连接通道Q一般ؓ下一不的入R或者测试获得详l的|络信息打好基础Q例如中途经q多次信息中{Q每ơ经q一个中转站时花费了多长旉。通过q些旉Q我们可以很方便地查出用户主Z目标|站之间的线路到底是在什么地方出了故障等情况。如果我们在tracert命o后面加上一些参敎ͼq可以检到其他更详l的信息。例如用参敎ͼdQ可以指定程序在跟踪L的\径信息时Q同时也解析目标L的域名?
我们单的使用该命令来试到达www.baidu.com的时间和l过的IP地址Q?br />C:\>tracert www.baidu.com
Tracing route to www.baidu.com [202.108.250.228]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.0.1
2 1 ms <1 ms 1 ms 211.152.23.6
3 * 5 ms 3 ms 211.152.47.253
4 3 ms 3 ms 3 ms 210.78.156.66
5 3 ms 9 ms 4 ms 211.99.57.113
6 6 ms 5 ms 7 ms 202.108.250.228
Trace complete.
看信息我们知道我们通过?个IP节点和用的旉。第一个一般是我们的机器是从该IP出去的,W二个开始就是经q的路由Q最后一个当然就是我们的目的C。在入R中,如果你肯对这些地址层曾q查的话Q一定会有大收获啦?/p>
十、nslookup命oQ?br />nslookup命o的功能是查询一台机器的IP地址和其对应的域?通常它能监测|络中DNS服务器是否能正确实现域名解析?它的q行需要一台域名服务器来提供域名服务。如果用户已l设|好域名服务器,可以用q个命o查看不同L的IP地址对应的域名?br />该命令的一般格式ؓQnslookup [IP地址/域名] Q如果在本地Z使用nslookup命o来查?a >www.baidu.com的话Q执行后如下Q?br />C:\>nslookup www.baidu.com
Server: dns2000.ruc.edu.cn
Address: 202.112.112.100
Non-authoritative answer:
Name: www.baidu.com
Address: 202.108.250.228
或者可以先q入nslookup模式再输入要查找的[域名/IP]Q?/p>
C:\>nslookup
Default Server: dns2000.ruc.edu.cn
Address: 202.112.112.100
> www.baidu.com
Server: dns2000.ruc.edu.cn
Address: 202.112.112.100
Non-authoritative answer:
Name: www.baidu.com
Address: 202.108.250.228
>
如果要退命oQ输入exitq回车即可。别的一些强悍功能可以自己去摸烦Q或者查扄关的帮助?/p>
到此为止Q我们在NT下的基本常用的网l命令就介绍完毕Q当然还有一些命令,比如finger、arp、hostname、route、ftfp{命令我们就不做介绍了,如果q想q一步了解的话,h阅相关的帮助或者资料?/p>
q有一点,很多命o在NT和Unix/Liunx下的作用是差不多的,而且很多子命令和参数也是差不多的Q你学了以后完全可以举一反三Q学会更多的东西。当然我们学东西不是一朝一夕就可以的,而是在长期的学习和用中掌握的,所以希望你们学习的话能够把q写东西拿到实践中去Q那么就不会觉得q些命o很难了;如果q有一些更基础的命令,比如Copy,dir,md,echo,attrib{没有熟悉的话,我希望你们能够去阅读一些DOS命o入门之类的东西,或者去|上搜烦相关的东西,可以_学习|络安全很多时候都是在“命o提示W?#8221;那黑乎乎的界面下q行的,一些常用命令的掌握Q有助于你更好的学习?br />
解决ҎQ将日期U以后的_ֺ去除
如日期:2010-01-01 20:02:20
2、INSERT INTO TEST2 (C1, C2,c3) VALUES (${v1},${v2},to_date(${v3},'yyyy-mm-dd'));
oracle里面不需要以“Q?#8221;l尾?/p>
3、修Ҏ据库日期格式Q?br />alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'
q个命o的适用范围Q是修改当前SESSIONQ另外这不能修改W三方工L日期格式Q如QPL/SQL DEVELOPER需要在Tools->Preferences->User Interface->Date/Time下修Ҏ式即可,W三方工L日期格式在工具内部自己去讄Q我估计你也应该在第三方工具下才会看到这L效果Q一般默认情况下ORACLE默认的日期格式不是这L?/p>
在默认的sqlplus或者sqlplusw下或者程序编写过E中Q执行该命o后,如果是同一个session是肯定会产生你要的效果?/p>
如果要将整体的数据库U别默认格式Ҏ需要修改参数文Ӟq启数据库才可以,但是q个也改不掉你第三方工具的显C格式,W三方工具只能在工具内部LQ它只能Ҏ默认的日期格式,W三方工具都是{换后的;但是很多时候容易被工具所忽悠Q给人的感觉是数据库就是这样存储的Q其实存储的只有日期格式Q没有YYYYMMq些东西Q这些东襉K是通过法计算出来的结果,然后Ҏ格式要求q行对应的格式化l看到的q样的效果而已?/p>
4、INSERT INTO TEST2 (C1, C2,c3) VALUES ('1',1,to_date('2010-12-27 00:00:00','yyyy-mm-dd')) 不可?br />INSERT INTO TEST2 (C1, C2,c3) VALUES (1,1,to_date('2010-12-27 00:00:00','yyyy-mm-dd hh24:mi:ss')) 可以
to_date是类型{换,不是格式转换Q字W串和后面的格式要匹配;to_char才是转成对应格式Q?/p>
oracle日期格式ȝ在oracle中处理日期大?/p>
TO_DATE格式
Day:
dd number 12
dy abbreviated fri
day spelled out friday
ddspth spelled out, ordinal twelfth
Month:
mm number 03
mon abbreviated mar
month spelled out march
Year:
yy two digits 98
yyyy four digits 1998
24时格式下时间范围ؓQ?0:00:00 - 23:59:59....
12时格式下时间范围ؓQ?1:00:00 - 12:59:59 ....
1.
日期和字W{换函数用法(to_date,to_charQ?/p>
2.
select to_char( to_date(222,'J'),'Jsp') from dual
昄Two Hundred Twenty-Two
3.
求某天是星期?
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;
星期一
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
monday
讄日期语言
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';
也可以这?
TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')
4.
两个日期间的天数
select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;
5. 旉为null的用?
select id, active_date from table1
UNION
select 1, TO_DATE(null) from dual;
注意要用TO_DATE(null)
6.
a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')
那么12?1号中?2点之后和12?L12点之前是不包含在q个范围之内的?
所以,当时间需要精的时候,觉得to_charq是必要?
7. 日期格式冲突问题
输入的格式要看你安装的ORACLE字符集的cd, 比如: US7ASCII, date格式的类型就? '01-Jan-01'
alter system set NLS_DATE_LANGUAGE = American
alter session set NLS_DATE_LANGUAGE = American
或者在to_date中写
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
注意我这只是举了NLS_DATE_LANGUAGEQ当然还有很多,
可查?
select * from nls_session_parameters
select * from V$NLS_PARAMETERS
8.
select count(*)
from ( select rownum-1 rnum
from all_objects
where rownum <= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002-
02-01','yyyy-mm-dd')+1
)
where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' )
not
in ( '1', '7' )
查找2002-02-28?002-02-01间除星期一和七的天?
在前后分别调用DBMS_UTILITY.GET_TIME, 让后结果相?得到的是1/100U? 而不是毫U?.
9.
select months_between(to_date('01-31-1999','MM-DD-YYYY'),
to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;
1
select months_between(to_date('02-01-1999','MM-DD-YYYY'),
to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;
1.03225806451613
10. Next_day的用?
Next_day(date, day)
Monday-Sunday, for format code DAY
Mon-Sun, for format code DY
1-7, for format code D
11
select to_char(sysdate,'hh:mi:ss') TIME from all_objects
注意Q第一条记录的TIME 与最后一行是一L
可以建立一个函数来处理q个问题
create or replace function sys_date return date is
begin
return sysdate;
end;
select to_char(sys_date,'hh:mi:ss') from all_objects;
12.
获得时?/p>
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 2:38:40') from offer
SQL> select sysdate ,to_char(sysdate,'hh') from dual;
SYSDATE TO_CHAR(SYSDATE,'HH')
-------------------- ---------------------
2003-10-13 19:35:21 07
SQL> select sysdate ,to_char(sysdate,'hh24') from dual;
SYSDATE TO_CHAR(SYSDATE,'HH24')
-------------------- -----------------------
2003-10-13 19:35:21 19
获取q月日与此类?
13.
q月日的处理
select older_date,
newer_date,
years,
months,
abs(
trunc(
newer_date-
add_months( older_date,years*12+months )
)
) days
from ( select
trunc(months_between( newer_date, older_date )/12) YEARS,
mod(trunc(months_between( newer_date, older_date )),
12 ) MONTHS,
newer_date,
older_date
from ( select hiredate older_date,
add_months(hiredate,rownum)+rownum newer_date
from emp )
)
14.
处理月䆾天数不定的办?
select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual
16.
扑և今年的天?
select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
闰年的处理方?
to_char( last_day( to_date('02' || :year,'mmyyyy') ), 'dd' )
如果?8׃是闰q?/p>
17.
yyyy与rrrr的区?
'YYYY99 TO_C
------- ----
yyyy 99 0099
rrrr 99 1999
yyyy 01 0001
rrrr 01 2001
18.不同时区的处?
select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate
from dual;
19.
5U钟一个间?
Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) * 300,'SSSSS') ,TO_CHAR(sysdate,'SSSSS')
from dual
2002-11-1 9:55:00 35786
SSSSS表示5位秒?/p>
20.
一q的W几?
select TO_CHAR(SYSDATE,'DDD'),sysdate from dual
310 2002-11-6 10:03:51
21.计算时,?U?毫秒
select
Days,
A,
TRUNC(A*24) Hours,
TRUNC(A*24*60 - 60*TRUNC(A*24)) Minutes,
TRUNC(A*24*60*60 - 60*TRUNC(A*24*60)) Seconds,
TRUNC(A*24*60*60*100 - 100*TRUNC(A*24*60*60)) mSeconds
from
(
select
trunc(sysdate) Days,
sysdate - trunc(sysdate) A
from dual
)
select * from tabname
order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss');
//
floor((date2-date1) /365) 作ؓq?
floor((date2-date1, 365) /30) 作ؓ?
mod(mod(date2-date1, 365), 30)作ؓ?
23.next_day函数
next_day(sysdate,6)是从当前开始下一个星期五。后面的数字是从星期日开始算赗?
1 2 3 4 5 6 7
?一 ?????/p>
oracle中有很多关于日期的函?/p>
在oracle中有很多关于日期的函敎ͼ如:
1、add_months()用于从一个日期值增加或减少一些月?
date_value:=add_months(date_value,number_of_months)
例:
SQL> select add_months(sysdate,12) "Next Year" from dual;
Next Year
----------
13-11?04
SQL> select add_months(sysdate,112) "Last Year" from dual;
Last Year
----------
13-3?-13
SQL>
2、current_date()q回当前会放时区中的当前日期
date_value:=current_date
SQL> column sessiontimezone for a15
SQL> select sessiontimezone,current_date from dual;
SESSIONTIMEZONE CURRENT_DA
--------------- ----------
+08:00 13-11?03
SQL> alter session set time_zone='-11:00'
2 /
会话已更攏V?/p>
SQL> select sessiontimezone,current_timestamp from dual;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ------------------------------------
-11:00 12-11?03 04.59.13.668000 下午 -11:
00
SQL>
3、current_timestamp()以timestamp with time zone数据cdq回当前会放时区中的当前日期
timestamp_with_time_zone_value:=current_timestamp([timestamp_precision])
SQL> column sessiontimezone for a15
SQL> column current_timestamp format a36
SQL> select sessiontimezone,current_timestamp from dual;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ------------------------------------
+08:00 13-11?03 11.56.28.160000 上午 +08:
00
SQL> alter session set time_zone='-11:00'
2 /
会话已更攏V?/p>
SQL> select sessiontimezone,current_timestamp from dual;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ------------------------------------
-11:00 12-11?03 04.58.00.243000 下午 -11:
00
SQL>
4、dbtimezone()q回时区
varchar_value:=dbtimezone
SQL> select dbtimezone from dual;
DBTIME
------
-07:00
SQL>
5、extract()扑և日期或间隔值的字段?
date_value:=extract(date_field from [datetime_value|interval_value])
SQL> select extract(month from sysdate) "This Month" from dual;
This Month
----------
11
SQL> select extract(year from add_months(sysdate,36)) "3 Years Out" from dual;
3 Years Out
-----------
2006
SQL>
6、last_day()q回包含了日期参数的月䆾的最后一天的日期
date_value:=last_day(date_value)
SQL> select last_day(date'2000-02-01') "Leap Yr?" from dual;
Leap Yr?
----------
29-2?-00
SQL> select last_day(sysdate) "Last day of this month" from dual;
Last day o
----------
30-11?03
SQL>
7、localtimestamp()q回会话中的日期和时?
timestamp_value:=localtimestamp
SQL> column localtimestamp format a28
SQL> select localtimestamp from dual;
LOCALTIMESTAMP
----------------------------
13-11?03 12.09.15.433000
下午
SQL> select localtimestamp,current_timestamp from dual;
LOCALTIMESTAMP CURRENT_TIMESTAMP
---------------------------- ------------------------------------
13-11?03 12.09.31.006000 13-11?03 12.09.31.006000 下午 +08:
下午 00
SQL> alter session set time_zone='-11:00';
会话已更攏V?/p>
SQL> select localtimestamp,to_char(sysdate,'DD-MM-YYYY HH:MI:SS AM') "SYSDATE" from dual;
LOCALTIMESTAMP SYSDATE
---------------------------- ------------------------
12-11?03 05.11.31.259000 13-11-2003 12:11:31 下午
下午
SQL>
8、months_between()判断两个日期之间的月份数?
number_value:=months_between(date_value,date_value)
SQL> select months_between(sysdate,date'1971-05-18') from dual;
MONTHS_BETWEEN(SYSDATE,DATE'1971-05-18')
----------------------------------------
389.855143
SQL> select months_between(sysdate,date'2001-01-01') from dual;
MONTHS_BETWEEN(SYSDATE,DATE'2001-01-01')
----------------------------------------
34.4035409
SQL>
9、next_day()l定一个日期|q回q二个参数指出的日子第一ơ出现在的日期|应返回相应日子的名称字符Ԍ
與周盔R日期函數
1.查询某周的第一?br />select trunc(decode(ww, 53, to_date(yy || '3112', 'yyyyddmm'), to_date(yy || '-' || to_char(ww * 7), 'yyyy-ddd')), 'd') last_day
from (select substr('2004-32', 1, 4) yy, to_number(substr('2004-32', 6)) ww
from dual)
select trunc(to_date(substr('2003-01',1,5)||to_char((to_number(substr('2003-01',6)))*7),'yyyy-ddd'),'d')-6 first_day from dual
select min(v_date) from
(select (to_date('200201','yyyymm') + rownum) v_date
from all_tables
where rownum < 370)
where to_char(v_date,'yyyy-iw') = '2002-49'
2.查询某周的最后一?br />select trunc(decode(ww, 53, to_date(yy || '3112', 'yyyyddmm'), to_date(yy || '-' || to_char(ww * 7), 'yyyy-ddd')), 'd') - 6 first_day
from (select substr('2004-33', 1, 4) yy, to_number(substr('2004-33', 6)) ww
from dual)
select trunc(to_date(substr('2003-01',1,5)||to_char((to_number(substr('2003-01',6)))*7),'yyyy-ddd'),'d') last_day from dual
select max(v_date) from
(select (to_date('200408','yyyymm') + rownum) v_date
from all_tables
where rownum < 370)
where to_char(v_date,'yyyy-iw') = '2004-33'
3.查询某周的日?br />select min_date, to_char(min_date,'day') day from
(select to_date(substr('2004-33',1,4)||'001'+rownum-1,'yyyyddd') min_date
from all_tables
where rownum <= decode(mod(to_number(substr('2004-33',1,4)),4),0,366,365)
union
select to_date(substr('2004-33',1,4)-1||
decode(mod(to_number(substr('2004-33',1,4))-1,4),0,359,358)+rownum,'yyyyddd') min_date
from all_tables
where rownum <= 7
union
select to_date(substr('2004-33',1,4)+1||'001'+rownum-1,'yyyyddd') min_date
from all_tables
where rownum <= 7
)
where to_char(min_date,'yyyy-iw') ='2004-33'
oracle中时间运?/p>
论坛中常常看到有对oracle中时间运提问的问题Q今天有旉Q看了看以前各位兄弟的脓子,整理了一下,q作了个CZQ希望会对大家有帮助?
首先感谢ern、eric.li及各版主q有热心的兄弟们
内容如下Q?
1、oracle支持Ҏ期进行运?
2、日期运时是以天ؓ单位q行?
3、当需要以分秒{更的单位值时Q按旉q制q行转换卛_
4、进行时间进制{换时注意加括P见示例中U色括号Q,否则会出问题
SQL> alter session set nls_date_format='yyyy-mm-dd hh:mi:ss';
会话已更攏V?/p>
SQL> set serverout on
SQL> declare
2 DateValue date;
3 begin
4 select sysdate into DateValue from dual;
5 dbms_output.put_line('源时?'||to_char(DateValue));
6 dbms_output.put_line('源时间减1?'||to_char(DateValue-1));
7 dbms_output.put_line('源时间减1?时:'||to_char(DateValue-1-1/24));
8 dbms_output.put_line('源时间减1?时1?'||to_char(DateValue-1-1/24-1/(24*60)));
9 dbms_output.put_line('源时间减1?时1?U?'||to_char(DateValue-1-1/24-1/(24*60)-1/(24*60*6
0)));
10 end;
11 /
源时?2003-12-29 11:53:41
源时间减1?2003-12-28 11:53:41
源时间减1?时:2003-12-28 10:53:41
源时间减1?时1?2003-12-28 10:52:41
源时间减1?时1?U?2003-12-28 10:52:40
PL/SQL q程已成功完成?/p>
3、对于tab面Q要想grid列宽度自适应的话q要加一下条Ӟ
4、布局不v作用Q可能是setLayout写成了setLayoutDataQ?br />
5、gxt里面量用boederlayout布局Q那栯适应较强Q?br />
6、所有远E对象承下面类Q可以和spring集成Q?