黑客知识之Sniffer黑客和网络管理.docx
《黑客知识之Sniffer黑客和网络管理.docx》由会员分享,可在线阅读,更多相关《黑客知识之Sniffer黑客和网络管理.docx(15页珍藏版)》请在冰点文库上搜索。
黑客知识之Sniffer黑客和网络管理
黑客知识之Sniffer、黑客和网络管理
史蒂夫?
利维在其著名的《黑客电脑史》中指出的“黑客道德准则”(theHackerEthic)包括:
通往电脑的路不止一条;所有的信息都应当是免费的;打破电脑集权;在电脑上创造艺术和美;计算机将使生活更美好。
黑客文化包含了自由不羁的精神,也包含了反传统、反权威、反集权的精神。
广义的、公众认为的“黑客”就是闯入计算机系统的人。
这种观念令有才能的、真正的“黑客”感到难过。
《MaximumSecurity》一书中对黑客和入侵者定义如下:
■“黑客”指对于任何计算机操作系统的奥秘都有强烈兴趣的人。
“黑客”大都是程序员,他们具有操作系统和编程语言方面的高级知识,知道系统中的漏洞及其原因所在;他们不断追求更深的知识,并公开他们的发现,与其他人分享;并且从来没有破坏数据的企图。
■“入侵者”是指怀着不良的企图,闯入甚至破坏远程机器系统完整性的人。
“入侵者”利用获得的非法访问权,破坏重要数据,拒绝合法用户服务请求,或为了自己的目的制造麻烦。
“入侵者”很容易识别,因为他们的行为是恶意的。
这里黑客的概念源于50、60年代麻省理工学院的实验室里的计算机迷们。
他们精力充沛,热衷于解决难题、独立思考并且奉公守法。
技术本身是没有错的,错误产生于人。
网络安全性的分析可以被真正的黑客用于加强安全性、加强网络的自由度,也可以被入侵者用于窥探他人隐私、任意篡改数据、进行网上诈骗活动。
这里,我们讨论网络嗅探器(sniffer)在广义黑客领域的应用和网络管理中的应用。
一.嗅探器(Sniffer)攻击原理
Sniffer既可以是硬件,也可以是软件,它用来接收在网络上传输的信息。
网络可以是运行在各种协议之下的。
包括Ethernet、TCP/IP、ZPX等等(也可以是其中几种协议的联合)。
放置Sniffer的目的是使网络接口(在这个例子中是以太网适配器)处于杂收模式(promiscuousmode),从而可从截获网络上的内容。
嗅探器与一般的键盘捕获程序(KeyCapture)不同。
键盘捕获程序捕获在终端上输入的键值,而嗅探器则捕获真实的网络报文。
嗅探器通过将其置身于网络接口来达到这个目的――将以太网卡设置成杂收模式。
关于以太网(Ethernet)
Ethernet是由Xerox的PaloAito研究中心(有时也称为PARC)发明的。
下面简介一下信息在网络(这里为以太网)上的传输形式。
数据在网络上是以很小的称为帧(Ftame)的单位传输的帧由好几部分组成,不同的部分执行不同的功能。
(例如,以太网的前12个字节存放的是源和目的的地址,这些位告诉网络:
数据的来源和去处。
以太网帧的其他部分存放实际的用户数据、TCP/IP的报文头或IPX报文头等等)。
帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上。
通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。
接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧的到达,然后对其进行存储。
就是在这个传输和接收的过程中,嗅探器会造成安全方面的问题。
每一个在LAN上的工作站都有其硬件地址。
这些地址唯一地表示着网络上的机器(这一点于Internet地址系统比较相似)。
当用户发送一个报文时,这些报文就会发送到LAN上所有可用的机器。
在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的报文则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单的忽略这些数据)。
如果某在工作站的网络接口处于杂收模式,那么它就可以捕获网络上所有的报文和帧。
Sniffer就是这样的硬件或软件,能够“听”到(而不是忽略)在网上传输的所有的信息。
在这种意义上,每一个机器,每一个路由器都是一个Sniffer(或者至少可以说它们可以成为一个Sniffer)。
这些信息就被储存在介质上,以备日后检查时用。
Sniffer可以是(而且通常是)软件和硬件的联合体,软件可以是普通的网络分析器带有比较强的debug功能,或者就是一个真正的Sniffer。
Sniffer必须是位于准备进行Sniffer工作的网络上的,它可以放在网络段中的任何地方。
Sniffer成为一种很大的危险,因为:
■它们可以捕获口令;
■它们可以截获机密的或专有的信息;
■它们可以被用来攻击相邻的网络或者用来获取更高级别的访问权限。
二.用Sniffer获取信息
下面是利用Windows平台上的sniffer工具EtherPeek进行的信报监听结果。
让我们分析一下这些数据(为避免不必要的麻烦,其中数据经修改完成)。
1.匿名Ftp信报分析
Flags:
0x00
Status:
0x00
PacketLength:
74
Timestamp:
19:
11:
21.74300001/18/2000
RawPacketData(原始信报数据)
.h.RT*.洲..E.0090abc068005254ab15d6de08004500[0-15]
.8..@..)Ri(1..00381009400020062952a2692831cac8[16-31]
*..*...f锚..*?
P.8c0204b300150066c3aa0004f03f5018[32-47]
".+T..USERanony220a2b5400005553455220616e6f6e79[48-63]
mous......6d6f75730d0a00000000
也许这还不够清清楚楚明明白白,下面是该程序作的解码:
Flags:
0x00
Status:
0x00
PacketLength:
74
Timestamp:
19:
11:
21.74300001/18/2000
EthernetHeader
Destination:
00:
90:
ab:
c0:
68:
00[0-5]
Source:
52:
54:
ab:
15:
d6:
de[6-11]
ProtocolType:
08-00IP[12-13]
IPHeader-InternetProtocolDatagram
Version:
4[14Mask0xf0]
HeaderLength:
5[14Mask0xf]
Precedence:
0[15Mask0xe0]
TypeofService:
%000[15Mask0x1c]
Unused:
%00[15Mask0x3]
TotalLength:
56[16-17]
Identifier:
4105[18-19]
FragmentationFlags:
%010DoNotFragment[20Mask0xe0]
FragmentOffset:
0[20-22Mask0x1fffff]
TimeToLive:
32
IPType:
0x06TCP[23]
HeaderChecksum:
0x2952[24-25]
SourceIPAddress:
162.105.40.49[26-29]
Dest.IPAddress:
202.200.140.2[30-33]
NoInternetDatagramOptions
TCP-TransportControlProtocol
SourcePort:
1203[34-35]
DestinationPort:
21FTPControl-FileTransferProtocol[36-37]
SequenceNumber:
6734762[38-41]
AckNumber:
323647[42-45]
Offset:
5[46Mask0xf0]
Reserved:
%000000[46Mask0xfc0]
Code:
%011000[47Mask0x3f]
Ackisvalid
PushRequest
Window:
8714[48-49]
Checksum:
0x2b54[50-51]
UrgentPointer:
0[52-53]
NoTCPOptions
FTPControl-FileTransferProtocol
FTPCommand:
0x55534552(USER)UserName[54-57]
UserName:
20[58]
Extrabytes(Padding):
anonymous..616e6f6e796d6f75730d0a[59-69]
FrameCheckSequence:
0x00000000
哦,这是在传输用户名。
用户名Name为anonymous。
下面还有源地址、目的地址相同的信报。
Flags:
0x00
Status:
0x00
PacketLength:
71
Timestamp:
19:
11:
32.14900001/18/2000
RawPacketData
.h.RT*.洲..E.0090abc068005254ab15d6de08004500[0-15]
.5..@..'Ui(1..00351209400020062755a2692831cac8[16-31]
*..*...f煤..*.P.8c0204b300150066c3ba0004f0875018[32-47]
!
|...passguest21c27c00000070617373206775657374[48-63]
@......400d0a00000000
这是作什么呢?
Flags:
0x00
Status:
0x00
PacketLength:
71
Timestamp:
19:
11:
32.14900001/18/2000
EthernetHeader
Destination:
00:
90:
ab:
c0:
68:
00[0-5]
Source:
52:
54:
ab:
15:
d6:
de[6-11]
ProtocolType:
08-00IP[12-13]
IPHeader-InternetProtocolDatagram
Version:
4[14Mask0xf0]
HeaderLength:
5[14Mask0xf]
Precedence:
0[15Mask0xe0]
TypeofService:
%000[15Mask0x1c]
Unused:
%00[15Mask0x3]
TotalLength:
53[16-17]
Identifier:
4617[18-19]
FragmentationFlags:
%010DoNotFragment[20Mask0xe0]
FragmentOffset:
0[20-22Mask0x1fffff]
TimeToLive:
32
IPType:
0x06TCP[23]
HeaderChecksum:
0x2755[24-25]
SourceIPAddress:
162.105.40.49[26-29]
Dest.IPAddress:
202.200.140.2[30-33]
NoInternetDatagramOptions
TCP-TransportControlProtocol
SourcePort:
1203[34-35]
DestinationPort:
21FTPControl-FileTransferProtocol[36-37]
SequenceNumber:
6734778[38-41]
AckNumber:
323719[42-45]
Offset:
5[46Mask0xf0]
Reserved:
%000000[46Mask0xfc0]
Code:
%011000[47Mask0x3f]
Ackisvalid
PushRequest
Window:
8642[48-49]
Checksum:
0x7c00[50-51]
UrgentPointer:
0[52-53]
NoTCPOptions
FTPControl-FileTransferProtocol
FTPCommand:
0x70617373(pass)Password[54-57]
Password:
20[58]
Extrabytes(Padding):
guest@..6775657374400d0a[59-66]
FrameCheckSequence:
0x00000000
哦,这里传输的就是密码啊!
试想,如果这里不是匿名登录,而是telnet、rlogin或pop3等的用户名与密码,那么……
2.Http信报分析
下面是捕获的一个HTTP信报。
Flags:
0x00
Status:
0x00
PacketLength:
844
Timestamp:
19:
28:
09.40000001/18/2000
RawPacketData
.h.RT*.洲..E.0090abc068005254ab15d6de08004500[0-15]
.:
..@.._堍i(1..033af10a400020065fdca2692831a7d8[16-31]
.d.*.P.vZ..].P.946404df00500076805a990c5d155018[32-47]
"87...POST/js/V223837a70000504f5354202f6a732f56[48-63]
erifyLoginHTTP/65726966794c6f67696e20485454502f[64-79]
1.1..Accept:
ima312e310d0a4163636570743a20696d61[80-95]
ge/gif,image/x-67652f6769662c20696d6167652f782d[96-111]
xbitmap,image/j786269746d61702c20696d6167652f6a[112-127]
peg,image/pjpeg7065672c20696d6167652f706a706567[128-143]
application/ms2c206170706c69636174696f6e2f6d73[144-159]
word,applicatio776f72642c206170706c69636174696f[160-175]
n/vnd.ms-powerpo6e2f766e642e6d732d706f776572706f[176-191]
int,application696e742c206170706c69636174696f6e[192-207]
/vnd.ms-excel,*2f766e642e6d732d657863656c2c202a[208-223]
/*..Referer:
htt2f2a0d0a526566657265723a20687474[224-239]
p:
//www.renren.c703a2f2f7777772e72656e72656e2e63[240-255]
om/js/FrontPage.6f6d2f6a732f46726f6e74506167650d[256-271]
.Accept-Language0a4163636570742d4c616e6775616765[272-287]
:
zh-cn..Content3a207a682d636e0d0a436f6e74656e74[288-303]
-Type:
applicati2d547970653a206170706c6963617469[304-319]
on/x-www-form-ur6f6e2f782d7777772d666f726d2d7572[320-335]
lencoded..Accept6c656e636f6465640d0a416363657074[336-351]
-Encoding:
gzip,2d456e636f64696e673a20677a69702c[352-367]
deflate..User-A206465666c6174650d0a557365722d41[368-383]
gent:
Mozilla/4.67656e743a204d6f7a696c6c612f342e[384-399]
0(compatible;M302028636f6d70617469626c653b204d[400-415]
SIE4.01;Window53494520342e30313b2057696e646f77[416-431]
s95)..Host:
www73203935290d0a486f73743a20777777[432-447]
..Con2e72656e72656e2e636f6d0d0a436f6e[448-463]
tent-Length:
43.74656e742d4c656e6774683a2034330d[464-479]
.Connection:
Kee0a436f6e6e656374696f6e3a204b6565[480-495]
p-Alive..Cookie:
702d416c6976650d0a436f6f6b69653a[496-511]
lang=cn;COUNTR206c616e673d636e3b20434f554e5452[512-527]
Y=21;timeDiff=2593d32313b2074696d65446966663d32[528-543]
7/12/1999_17:
56:
372f31322f313939395f31373a35363a[544-559]
15.476;SESSION=31352e3437363b2053455353494f4e3d[560-575]
9920220612.17233393932303232303631322e3137323333[576-591]
6181;AdJump=nul363138313b2041644a756d703d6e756c[592-607]
l;engagekey=/re6c3b20656e676167656b65793d2f7265[608-623]
gion#1/gender#1/67696f6e23312f67656e64657223312f[624-639]
age#21/sign#/mar6167652332312f7369676e232f6d6172[640-655]
ital#1/country#/6974616c23312f636f756e747279232f[656-671]
ethnicity#2/educ6574686e696369747923322f65647563[672-687]
ation#5/industry6174696f6e23352f696e647573747279[688-703]
#9/interests#;J23392f696e74657265737473233b204a[704-719]
ServSessionId=3f5365727653657373696f6e49643d3366[720-735]
ee9af4c3957f28.665653961663463333935376632382e36[736-751]
30.946465712033;33302e3934363436353731323033333b[752-767]
AccipiterId=0002041636369706974657249643d303030[768-783]
93423*DEF....log39333432332a4445460d0a0d0a6c6f67[784-799]
inid=iaqqxaisc&p696e69643d69617171786a6973632670[800-815]
assword=vra7raa&617373776f72643d7672613772616126[816-831]
x=41&y=9f.X!
783d343126793d3966c85821
下面是解码后的结果。
Flags:
0x00
Status:
0x00
PacketLength