什么是端口,端口又有什么用?
有过一些黑客攻击方面知识的读者都会知道,其实那些所谓的黑客并不是像人们想象那样从天而降,而是实实在在从您的计算机"大门"中自由出入。计算机的"大门"就是我们平常所说的"端口",它包括计算机的物理端口,如计算机的串口、并口、输入/输出设备以及适配器接口等(这些端口都是可见的),但更多的是不可见的软件端口,在本文中所介绍的都是指"软件端口",但为了说明方便,仍统称为"端口"。本文仅就端口的基础知识进行介绍,
一、端口简介
随着计算机 *** 技术的发展,原来物理上的接口(如键盘、鼠标、网卡、显示卡等输入/输出接口)已不能满足 *** 通信的要求,TCP/IP协议作为 *** 通信的标准协议就解决了这个通信难题。TCP/IP协议集成到操作系统的内核中,这就相当于在操作系统中引入了一种新的输入/输出接口技术,因为在TCP/IP协议中引入了一种称之为"Socket(套接字)"应用程序接口。有了这样一种接口技术,一台计算机就可以通过软件的方式与任何一台具有Socket接口的计算机进行通信。端口在计算机编程上也就是"Socket接口"。
有了这些端口后,这些端口又是如何工作呢?例如一台服务器为什么可以同时是Web服务器,也可以是FTP服务器,还可以是邮件服务器等等呢?其中一个很重要的原因是各种服务采用不同的端口分别提供不同的服务,比如:通常TCP/IP协议规定Web采用80号端口,FTP采用21号端口等,而邮件服务器是采用25号端口。这样,通过不同端口,计算机就可以与外界进行互不干扰的通信。
据专家们分析,服务器端口数更大可以有65535个,但是实际上常用的端口才几十个,由此可以看出未定义的端口相当多。这是那么多黑客程序都可以采用某种 *** ,定义出一个特殊的端口来达到入侵的目的的原因所在。为了定义出这个端口,就要依靠某种程序在计算机启动之前自动加载到内存,强行控制计算机打开那个特殊的端口。这个程序就是"后门"程序,这些后门程序就是常说的木马程序。简单的说,这些木马程序在入侵前是先通过某种手段在一台个人计算机中植入一个程序,打开某个(些)特定的端口,俗称"后门"(BackDoor),使这台计算机变成一台开放性极高(用户拥有极高权限)的FTP服务器,然后从后门就可以达到侵入的目的。
二、端口的分类
端口的分类根据其参考对象不同有不同划分 *** ,如果从端口的性质来分,通常可以分为以下三类:
(1)公认端口(Well Known
Ports):这类端口也常称之为"常用端口"。这类端口的端口号从0到1024,它们紧密绑定于一些特定的服务。通常这些端口的通信明确表明了某种服务的协议,这种端口是不可再重新定义它的作用对象。例如:80端口实际上总是HTTP通信所使用的,而23号端口则是Telnet服务专用的。这些端口通常不会像木马这样的黑客程序利用。为了使大家对这些常用端口多一些认识,在本章后面将详细把这些端口所对面应的服务进行列表,供各位理解和参考。
(2) 注册端口(Registered
Ports):端口号从1025到49151。它们松散地绑定于一些服务。也是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。这些端口多数没有明确的定义服务对象,不同程序可根据实际需要自己定义,如后面要介绍的远程控制软件和木马程序中都会有这些端口的定义的。记住这些常见的程序端口在木马程序的防护和查杀上是非常有必要的。常见木马所使用的端口在后面将有详细的列表。
(3) 动态和/或私有端口(Dynamic and/or Private
Ports):端口号从49152到65535。理论上,不应把常用服务分配在这些端口上。实际上,有些较为特殊的程序,特别是一些木马程序就非常喜欢用这些端口,因为这些端口常常不被引起注意,容易隐蔽。
如果根据所提供的服务方式的不同,端口又可分为"TCP协议端口"和"UDP协议端口"两种。因为计算机之间相互通信一般采用这两种通信协议。前面所介绍的"连接方式"是一种直接与接收方进行的连接,发送信息以后,可以确认信息是否到达,这种方式大多采用TCP协议;另一种是不是直接与接收方进行连接,只管把信息放在网上发出去,而不管信息是否到达,也就是前面所介绍的"无连接方式"。这种方式大多采用UDP协议,IP协议也是一种无连接方式。对应使用以上这两种通信协议的服务所提供的端口,也就分为"TCP协议端口"和"UDP协议端口"。
使用TCP协议的常见端口主要有以下几种:
(1) FTP:定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。
(2)
Telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。
(3)
*** TP:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置中常看到有这么 *** TP端口设置这个栏,服务器开放的是25号端口。
(4)
POP3:它是和 *** TP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是110端口。也是说,只要你有相应的使用POP3协议的程序(例如Foxmail或Outlook),就可以不以Web方式登陆进邮箱界面,直接用邮件程序就可以收到邮件(如是163邮箱就没有必要先进入网易网站,再进入自己的邮箱来收信)。
使用UDP协议端口常见的有:
(1)
HTTP:这是大家用得最多的协议,它就是常说的"超文本传输协议"。上网浏览网页时,就得在提供网页资源的计算机上打开80号端口以提供服务。常说"WWW服务"、"Web服务器"用的就是这个端口。
(2) DNS:用于域名解析服务,这种服务在Windows
NT系统中用得最多的。因特网上的每一台计算机都有一个 *** 地址与之对应,这个地址是常说的IP地址,它以纯数字+"."的形式表示。然而这却不便记忆,于是出现了域名,访问计算机的时候只需要知道域名,域名和IP地址之间的变换由DNS服务器来完成。DNS用的是53号端口。
(3) SNMP:简单 *** 管理协议,使用161号端口,是用来管理 *** 设备的。由于 *** 设备很多,无连接的服务就体现出其优势。
(4)
OICQ:OICQ程序既接受服务,又提供服务,这样两个聊天的人才是平等的。OICQ用的是无连接的协议,也是说它用的是UDP协议。OICQ服务器是使用8000号端口,侦听是否有信息到来,客户端使用4000号端口,向外发送信息。如果上述两个端口正在使用(有很多人同时和几个好友聊天),就顺序往上加。
在计算机的6万多个端口,通常把端口号为1024以内的称之为常用端口,这些常用端口所对应的服务通常情况下是固定的。表1所列的都是服务器默认的端口,不允许改变,一般通信过程都主要用到这些端口。
表1
服务类型默认端口服务类型默认端口
Echo7Daytime13
FTP21Telnet23
*** TP25Time37
Whois43DNS53
Gopher70Finger79
WWW80POP3110
NNTP119IRC194
另外 *** 服务器常用以下端口:
(1). HTTP协议 *** 服务器常用端口号:80/8080/3128/8081/9080
(2). SOCKS *** 协议服务器常用端口号:1080
(3). FTP协议 *** 服务器常用端口号:21
(4). Telnet协议 *** 服务器常用端口:23
三、端口在黑客中的应用
像木马之类的黑客程序,就是通过对端口的入侵来实现其目的的。在端口的利用上,黑客程序通常有两种方式,那就是"端口侦听"和"端口扫描"。
"端口侦听"与"端口扫描"是黑客攻击和防护中经常要用到的两种端口技术,在黑客攻击中利用它们可以准确地寻找攻击的目标,获取有用信息,在个人及 *** 防护方面通过这种端口技术的应用可以及时发现黑客的攻击及一些安全漏洞。下面首先简单介绍一下这两种端口技术的异同。
"端口侦听"是利用某种程序对目标计算机的端口进行监视,查看目标计算机上有哪能些端口是空闲、可以利用的。通过侦听还可以捕获别人有用的信息,这主要是用在黑客软件中,但对于个人来说也是非常有用的,可以用侦听程序来保护自己的计算机,在自己计算机的选定端口进行监视,这样可以发现并拦截一些黑客的攻击。也可以侦听别人计算机的指定端口,看是否空闲,以便入侵。
"端口扫描"(port
scanning)是通过连接到目标系统的TCP协议或UDP协议端口,来确定什么服务正在运行,然后获取相应的用户信息。现在有许多人把"端口侦听"与"端口扫描"混为一谈,根本分不清什么样的情况下要用侦听技术,什么样的情况下要用扫描技术。不过,现在的这类软件也似乎对这两种技术有点模糊了,有的干脆把两个功能都集成在一块。
"端口侦听"与"端口扫描"有相似之处,也有区别的地方,相似的地方是都可以对目标计算机进行监视,区别的地方是"端口侦听"属于一种被动的过程,等待别人的连接的出现,通过对方的连接才能侦听到需要的信息。在个人应用中,如果在设置了当侦听到有异常连接立即向用户报告这个功能时,就可以有效地侦听黑客的连接企图,及时把驻留在本机上的木马程序清除掉。这个侦听程序一般是安装在目标计算机上。用在黑客中的"端口侦听"通常是黑客程序驻留在服务器端等待服务器端在进行正常活动时捕获黑客需要的信息,然后通过UDP协议无连接方式发出去。而"端口扫描"则是一种主动过程,它是主动对目标计算机的选定端口进行扫描,实时地发现所选定端口的所有活动(特别是对一些网上活动)。扫描程序一般是安装在客户端,但是它与服务器端的连接也主要是通过无连接方式的UDP协议连接进行。
在 *** 中,当信息进行传播的时候,可以利用工具,将 *** 接口设置在侦听的模式,便可将 *** 中正在传播的信息截获或者捕获到,从而进行攻击。端口侦听在 *** 中的任何一个位置模式下都可实施进行,而黑客一般都是利用端口侦听来截取用户口令。
四、端口侦听原理
以太网(Ethernet)协议的工作方式是将要发送的数据包发往连接在一起的所有计算机。在包头中包括有应该接收数据包的计算机的正确地址,因为只有与数据包中目标地址一致的那台计算机才能接收到信息包。但是当计算机工作在侦听模式下,不管数据包中的目标物理地址是什么,计算机都将可以接收到。当同一 *** 中的两台计算机通信的时候,源计算机将写有目的计算机地址的数据包直接发向目的计算机,或者当 *** 中的一台计算机同外界的计算机通信时,源计算机将写有目的计算机IP地址的数据包发向网关。但这种数据包并不能在协议栈的高层直接发送出去,要发送的数据包必须从TCP/IP协议的IP协议层交给 *** 接口--数据链路层。 *** 接口不会识别IP地址的,在 *** 接口中,由IP协议层来的带有IP地址的数据包又增加了一部分以太网的帧头信息。在帧头中,有两个域分别为只有 *** 接口才能识别的源计算机和目的计算机的物理地址,这是一个48位的地址,这个48位的地址是与IP地址相对应的。换句话说,一个IP地址也会对应一个物理地址。对于作为网关的计算机,由于它连接了多个 *** ,它也就同时具备有很多个IP地址,在每个 *** 中它都有一个。而发向 *** 外的帧中继携带的是网关的物理地址。
以太网中填写了物理地址的帧从 *** 端口中(或者从网关端口中)发送出去,传送到物理的线路上。如果局域网是由一条粗同轴电缆或细同轴电缆连接成的,那么数字信号在电缆上传输信号就能够到达线路上的每一台计算机。再当使用集线器的时候,发送出去的信号到达集线器,由集线器再发向连接在集线器上的每一条线路。这样在物理线路上传输的数字信号也就能到达连接在集线器上的每个计算机了。当数字信号到达一台计算机的 *** 接口时,正常状态下 *** 接口对读入数据帧进行检查,如数据帧中携带的物理地址是自己的或者物理地址是广播地址,那么就会将数据帧交给IP协议层软件。对于每个到达 *** 接口的数据帧都要进行这个过程的。但是当计算机工作在侦听模式下,所有的数据帧都将被交给上层协议软件处理。
当连接在同一条电缆或集线器上的计算机被逻辑地分为几个子网的时候,那么要是有一台计算机处于侦听模式,它可以接收到发向与自己不在同一个子网(使用了不同的掩码、IP地址和网关)的计算机的数据包,在同一个物理信道上传输的所有信息都可以被接收到。
在UNIX系统上,当拥有超级权限的用户要想使自己所控制的计算机进入侦听模式,只需要向Interface( *** 接口)发送I/O控制命令,就可以使计算机设置成侦听模式了。而在Windows
9x的系统中则不论用户是否有权限都将可以通过直接运行侦听工具就可以实现。
在端口处于侦听时,常常要保存大量的信息(也包含很多的垃圾信息),并将对收集的信息进行大量的整理,这样就会使正在侦听的计算机对其他用户的请求响应变的很慢。同时侦听程序在运行的时候需要消耗大量的处理器时间,如果在这时就详细的分析包中的内容,许多包就会来不及接收而被漏走。所以侦听程序很多时候就会将侦听得到的包存放在文件中等待以后分析。分析侦听到的数据包是很头疼的事情,因为 *** 中的数据包都非常之复杂。两台计算机之间连续发送和接收数据包,在侦听到的结果中必然会加一些别的计算机交互的数据包。侦听程序将同一TCP协议会话的包整理到一起就相当不容易,如果还期望将用户详细信息整理出来就需要根据协议对包进行大量的分析。
现在 *** 中所使用的协议都是较早前设计的,许多协议的实现都是基于一种非常友好的,通信的双方充分信任的基础。在通常的 *** 环境之下,用户的信息包括口令都是以明文的方式在网上传输的,因此进行端口侦听从而获得用户信息并不是一件难点事情,只要掌握有初步的TCP/IP协议知识就可以轻松的侦听到想要的信息的。
五、端口扫描原理
"端口扫描"通常指用同一信息对目标计算机的所有所需扫描的端口进行发送,然后根据返回端口状态来分析目标计算机的端口是否打开、是否可用。"端口扫描"行为的一个重要特征是:在短时期内有很多来自相同的信源地址传向不同的目的地端口的包。
对于用端口扫描进行攻击的人来说,攻击者总是可以做到在获得扫描结果的同时,使自己很难被发现或者说很难被逆向跟踪。为了隐藏攻击,攻击者可以慢慢地进行扫描。除非目标系统通常闲着(这样对一个没有listen端口的数据包都会引起管理员的注意),有很大时间间隔的端口扫描是很难被识别的。隐藏源地址的 *** 是发送大量的欺骗性的端口扫描包(1000个),其中只有一个是从真正的源地址来的。这样,即使全部包(1000)都被察觉,被记录下来,也没有人知道哪个是真正的信源地址。能发现的仅仅是"曾经被扫描过"。也正因为这样那些黑客们才乐此不彼地继续大量使用这种端口扫描技术来达到他们获取目标计算机信息、并进行恶意攻击。
通常进行端口扫描的工具目前主要采用的是端口扫描软件,也通称之为"端口扫描器",端口扫描可以为提供三个用途:
(1)识别目标系统上正在运行的TCP协议和UDP协议服务。
(2)识别目标系统的操作系统类型(Windows 9x, Windows NT,或UNIX,等)。
(3)识别某个应用程序或某个特定服务的版本号。
端口扫描器是一种自动检测远程或本地计算机安全性弱点的程序,通过使用扫描器你可不留痕迹的发现远程服务器的各种TCP协议端口的分配及提供的服务,还可以得知它们所使用的软件版本!这就能让间接的了解到远程计算机所存在的安全问题。
端口扫描器通过选用远程TCP/IP协议不同的端口的服务,记录目标计算机端口给予的回答的 *** ,可以搜集到很多关于目标计算机的各种有用信息(比如:是否有端口在侦听?是否允许匿名登陆?是否有可写的FTP目录,是否能用TELNET等。
端口扫描器并不是一个直接攻击 *** 漏洞的程序,它仅仅能帮助发现目标机的某些内在的弱点。一个好的扫描器还能对它得到的数据进行分析,帮助查找目标计算机的漏洞。但它不会提供一个系统的详细步骤。
端口扫描器在扫描过程中主要具有以下三个方面的能力:
(1) 发现一个计算机或 *** 的能力;
(2) 一旦发现一台计算机,就有发现目标计算机正在运行什么服务的能力;
(3) 通过测试目标计算机上的这些服务,发现存在的漏洞的能力。
编写扫描器程序必须要很多TCP/IP协议程序编写和C,Perl和或SHELL语言的知识。需要一些Socket编程的背景,一种在开发客户/服务应用程序的 *** 。
六、常用端口
在计算机的6万多个端口,通常把端口号为1024以内的称之为常用端口,这些常用端口所对应的服务通常情况下是固定的,所以了解这些常用端口在一定程序上是非常必要的,下表2列出了计算机的常用端口所对应的服务(注:在这列表中各项"="前面的数字为端口号,"="后面的为相应端口服务。)。
1=tcpmux(TCP协议 Port Service Multiplexer)401=ups(Uninterruptible Power
Supply)
2=compressnet=Management Utility402=genie(Genie Protocol)
3=compressnet=Compression Process403=decap
5=rje(Remote Job Entry)404=nced
7=echo=Echo405=ncld
9=discard406=imsp(Interactive Mail Support Protocol)
11=systat,Active Users407=timbuktu
13=daytime408=prm- *** (Prospero Resource Manager Sys. Man.)
17=qotd(Quote of the Day)409=prm-nm(Prospero Resource Manager Node Man.)
18=msp(Message Send Protocol)410=decladebug(DECLadebug Remote Debug
Protocol)
19=Character Generator411=rmt(Remote MT Protocol)
20=FTP-data(File Transfer [Default Data])412=synoptics-trap(Trap
Convention Port)
21=FTP(File Transfer [Control])413= *** sp
22=ssh414=infoseek
23=telnet415=bnet
24private mail system416=silverplatter
25= *** tp(Simple Mail Transfer)417=onmux
27=nsw-fe(NSW User System FE)418=hyper-g
29=msg-icp419=ariel1
31=msg-auth420= *** pte
33=Display Support Protocol421=ariel2
35=private printer server422=ariel3
37=time423=opc-job-start(IBM Operations Planning and Control Start)
38=rap(Route Access Protocol)424=opc-job-track(IBM Operations Planning and
Control Track)
39=rlp(Resource Location Protocol)425=icad-el(ICAD)
41=graphics426= *** artsdp
42=nameserver(WINS Host Name Server)427=svrloc(Server Location)
43=nicname(Who Is)428=ocs_cmu
44=mpm-flags(MPM FLAGS Protocol)429=ocs_amu
45=mpm(Message Processing Module [recv])430=utmpsd
46=mpm-snd(MPM [default send])431=utmpcd
47=ni-ftp432=iasd
48=Digital Audit Daemon433=nnsp
49=tacacs(Login Host Protocol (TACACS))434=mobileip-agent
50=re-mail-ck(Remote Mail Checking Protocol)435=mobilip-mn
51=la-maint(IMP Logical Address Maintenance)436=dna-cml
52=xns-time(XNS Time Protocol)437=comscm
53=Domain Name Server438=dsfgw
54=xns-ch(XNS Clearinghouse)439=dasp(dasp Thomas Obermair)
55=isi-gl(ISI Graphics Language)440=sgcp
56=xns-auth(XNS Authentication)441=decvms-sy *** gt
57= private terminal access442=cvc_hostd
58=xns-mail(XNS Mail)443=https(https Mcom)
59=private file service444=snpp(Simple Network Paging Protocol)
61=ni-mail(NI MAIL)445=microsoft-ds
62=acas(ACA Services)446=ddm-rdb
63=whois+whois+447=ddm-dfm
64=covia(Communications Integrator (CI))448=ddm-byte
65=tacacs-ds(TACACS-Database Service)449=as-servermap
66=sql*net(Oracle SQL*NET)450=tserver
67=bootps(Bootstrap Protocol Server)451=sfs- *** p-net(Cray Network Semaphore
server)
68=bootpc(Bootstrap Protocol Client)452=sfs-config(Cray SFS config server)
69=tftp(Trivial File Transfer)453=creativeserver
70=gopher454=contentserver
71=netrjs-1,Remote Job Service455=creativepartnr
72=netrjs-2,Remote Job Service456=macon-tcp
73=netrjs-3,Remote Job Service457=scohelp
74=netrjs-4,Remote Job Service458=appleqtc(apple quick time)
75=private dial out service459=ampr-rcmd
76=deos(Distributed External Object Store)460=skronk
77=private RJE service461=datasurfsrv
78=vettcp462=datasurfsrvsec
79=finger463=alpes
80=http(World Wide Web HTTP)464=kpasswd
81=hosts2-ns(HOSTS2 Name Server)465=s *** tp
82=xfer(XFER Utility)466=digital-vrc
83=mit-ml-dev(MIT ML Device)467=mylex-mapd
84=ctf(Common Trace Facility)468=photuris
85=mit-ml-dev(MIT ML Device)469=rcp(Radio Control Protocol)
86=mfcobol(Micro Focus Cobol)470=scx-proxy
87= private terminal link471=mondex
88=kerberos472=ljk-login
89=su-mit-tg(SU/MIT Telnet Gateway)473=hybrid-pop
90=dnsix(DNSIX Securit Attribute Token Map)474=tn-tl-w1
91=mit-dov(MIT Dover Spooler)475=tcpnethaspsrv
92=npp(Network Printing Protocol)476=tn-tl-fd1
93=dcp(Device Control Protocol)477=ss7ns
94=objcall(Tivoli Object Dispatcher)478=spsc
95=supdup479=iafserver
96=dixie(DIXIE Protocol Specification)480=iafdbase
97=swift-rvf(Swift Remote Virtural File Protocol)481=ph(Ph service)
98=tacnews482=bgs-nsi
99=metagram,Metagram Relay483=ulpnet
100=newacct,[unauthorized use]484=integra- *** e(Integra Software Management
Environment)
101=hostname,NIC Host Name Server485=powerburst(Air Soft Power Burst)
102=iso-tsap(ISO-TSAP Class 0)486=avian
103=gppitnp(Genesis Point-to-Point Trans Net)487=saft
104=acr-nema(ACR-NEMA Digital Imag. Comm. 300)488=gss-http
105=Mailbox Name Nameserver489=nest-protocol
106=3com-t *** ux(3COM-T *** UX)490=micom-pfs
107=rtelnet(Remote Telnet Service)491=go-login
108=snagas(SNA Gateway Access Server)492=ticf-1(Transport Independent
Convergence for FNA)
109=pop2(Post Office Protocol - Version 2)493=ticf-2(Transport Independent
Convergence for FNA)
110=pop3(Post Office Protocol - Version 3)494=pov-ray
111=sunrpc(SUN Remote Procedure Call)495=intecourier
112=mcidas(McIDAS Data Tran *** ission Protocol)496=pim-rp-disc
113=auth(Authentication Service)497=dantz
114=audionews(Audio News Multicast)498=siam
115=sftp(Simple File Transfer Protocol)499=iso-ill(ISO ILL Protocol)
116=ansanotify(ANSA REX Notify)500=isakmp
117=uucp-path(UUCP Path Service)501=stmf
118=sqlserv502=asa-appl-proto
119=nntp(Network News Transfer Protocol)503=intrinsa
120=cfdptkt504=citadel
121=erpc(Encore Expedited Remote Pro.Call)505=mailbox-lm
122= *** akynet506=ohimsrv
123=ntp(Network Time Protocol)507=crs
124=ansatrader(ANSA REX Trader)508=xvttp
125=locus-map(Locus PC-Interface Net Map Ser)509=snare
126=unitary(Unisys Unitary Login)510=fcp(FirstClass Protocol)
127=locus-con(Locus PC-Interface Conn Server)511=mynet(mynet-as)
128=gss-xlicen(GSS X License Verification)512=exec(remote process
execution)
129=pwdgen(Password Generator Protocol)513=login(remote login a la telnet)
130=cisco-fna(cisco FNATIVE)514=shell,cmd
131=cisco-tna(cisco TNATIVE)515=printer,spooler
132=cisco-sys(cisco SY *** AINT)516=videotex
133=statsrv(Statistics Service)517=talk(like tenex link)
134=ingres-net(INGRES-NET Service)518=ntalk
135=epmap(DCE endpoint resolution)519=utime(unixtime)
136=profile(PROFILE Naming System)520=efs(extended file name server)
137=netbios-ns(NETBIOS Name Service)521=ripng
138=netbios-dgm(NETBIOS Datagram Service)522=ulp
139=netbios-ssn(NETBIOS Session Service)523=ibm-db2
140=emfis-data(EMFIS Data Service)524=ncp
141=emfis-cntl(
参考资料:;topic=78
试述防火墙、入侵检测技术、 *** 嗅探技术及端口扫描技术的基本原理及其在 *** 安全中的作用和应用范围。
防火墙就是允许哪些程序连接 *** ,哪些程序不准连接。当然这个是由你自己的配置,允许的程序就会开一些相应的端口。如邮件是25,FTP是21等等。
入侵检测技术就是检查你的 *** 有没有受到攻击!
端口扫描应该是扫描你开放的哪些端口。然后可以采取相应的攻击吧!
使用惊天远程进行IP端口扫描原理
您好 一般情况下您对其他计算机进行扫描 被扫描的计算机是不会出现什么异常现象的。 如果对方有监控程序的话,您的行为将被记录在日志中。 扫描就是通过尝试和任意端口进行连接,或者发包看有没有回应。 希望可以帮您解决问题//..//
*** 端口扫描属于本地扫描吗
*** 端口扫描不属于本地扫描。根据查询相关 *** 息显示:端口扫描技术原理是端口扫描向目标主机的TCP/IP服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是打开的还是关闭的,就可以得知端口提供的服务或信息,可以本地也可以远程。
Nmap 扫描原理及使用 ***
Nmap 扫描原理及使用 ***
Namp包含四项基本功能
Nmap基本扫描 ***
2.1 用法引入
2.1.1确定端口状况
确定目标主机在线情况及端口基本状况。
命令形式:
namp targethost
2.1.2 完整全面的扫描
对主机进行完整全面的扫描,那么可以使用nmap内置的-A选项。使用该选项,nmap 对主机进行主机发现、端口扫描、应用程序与版本侦测、操作系统侦测及调用默认NSE脚本扫描。
1)命令形式:
nmap -T4 -A -v targethost
2)参数详解:
2.2 主机发现
2.2.1 主机发现原理
主机发现发现的原理与Ping命令类似,发送探测包到目标主机,如果收到回复,说明目标主机是开启的。
1)常见主机探测方式:
2)案例:
Nmap的用户位于源端,IP地址192.168.0.5,向目标主机192.168.0.3发送ICMP Echo Request。如果该请求报文没有被防火墙拦截掉,那么目标机会回复ICMP Echo Reply包回来。以此来确定目标主机是否在线。
3)默认情况下:Nmap会发送四种不同类型的数据包来探测目标主机是否在线。
依次发送四个报文探测目标机是否开启。只要收到其中一个包的回复,那就证明目标机开启。使用四种不同类型的数据包可以避免因防火墙或丢包造成的判断错误。
2.2.2 主机发现的用法
2.3 端口扫描
Namp通过探测将端口划分为6个状态:
2.3.1 端口扫描原理
2.3.1.1 TCP SYN scanning
TCP SYN scanning 是Nmap默认的扫描方式,称作半开放扫描。
原理:该方式发送SYN到目标端口。
2.3.1.2 TCP connect scanning
原理:TCP connect 方式使用系统 *** API connect 向目标主机的端口发起连接。
优缺点:该方式扫描速度比较慢,而且由于建立完整的TCP连接会在目标机上留下记录信息,不够隐蔽。所以,TCP connect是TCP SYN无法使用才考虑选择的方式。
2.3.1.3 TCP ACK scanning
原理:向目标主机的端口发送ACK包。
优缺点:该方式只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。
2.3.1.4 TCP FIN/Xmas/NULL scanning
这三种扫描方式被称为秘密扫描(Stealthy Scan)
原理:FIN扫描向目标主机的端口发送的TCP FIN包或Xmas tree包/Null包
其中Xmas tree包是指flags中FIN URG PUSH被置为1的TCP包;NULL包是指所有flags都为0的TCP包。
2.3.1.5 UDP scanning
UDP扫描方式用于判断UDP端口的情况。
原理:向目标主机的UDP端口发送探测包。
2.3.2 端口扫描用法
2.3.2.1 扫描方式选项
2.3.2.2 端口参数与扫描顺序
2.4 版本侦测
2.4.1 优缺点
2.4.2 版本侦测原理
2.4.3 版本侦测用法
2.5 OS侦测
2.5.1 OS侦测原理
2.5.2 OS侦测用法
参考:
0条大神的评论