nmap--网络探测和安全审核工具
它曾经在电影《黑客帝国》中出现过,是黑客和网络安全人员经常用到的工具.
nmap是一个开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本。
一、nmap基本功能与结构
主要有如下四个基本功能:
如果希望了解目标主机更多的信息,可以通过完全扫描的方式实现,nmap命令内置了“-A”选项,可以实现对目标主机进行主机发现、端口扫描、应用程序与版本侦测、操作系统识别等完整全面的扫描,命令形式如下:
其中,
主机发现主要用来判断目标主机是否在线,其扫描原理类似于ping命令,通过发送探测数据包到目标主机,如果能收到回复,那么认为目标主机处于在线状态。nmap支持多种不同的主机探测方法,例如发送TCP SYN/ACK包、发送SCTP包、主机发现主要用来判断目标主机是否在线,其扫描原理类似于ping命令,通过发送探测数据包到目标主机,如果能收到回复,那么认为目标主机处于在线状态。nmap支持多种不同的主机探测方法,例如发送TCP SYN/ACK包、发送SCTP包、
端口扫描是nmap最核心的功能,通过端口扫描可以发现目标主机上TCP、UDP端口的开放情况。nmap在默认状态下会扫描1000个最有可能开放的端口,并将侦测到的端口状态分为6类,分别是:
VB6.0 扫描端口
计算机网络技术的日益发展和普及,为信息共享提供了一条全球性的高速通道,但目前采用的TCP/IP协议族潜在着安全漏洞,其安全机制并不健全,如何保护企业内部网络中的资源及信息不受外部攻击者肆意破坏或盗窃,是企业网络安全需要解决的重要问题。当我们担心被黑客攻击或怀疑电脑被植入木马时,我们往往求助于防火墙,本系统即通过实时监控全部TCP连接的方法来实现防黑客攻击。同时网络管理人员在整个网络运行期间,能否实时监控联网计算机的运行状态和操作对网络安全具有极其重要的作用.下面就以Visual Basic 6.0作为开发工具讲述两个主要模块的设计和实现。
系统概述
该系统由两个子系统组成:服务器端系统和客户端(工作站)系统。服务器端系统安装在网络管理人员的计算机上,用于实施各种对联网计算机的监控操作;客户端系统安装在每台联网的计算机上,它运行后以图标的方式出现在系统任务栏的提示区中,不影响工作站的其他操作,只用于响应服务器端的监控命令,并根据服务的需要,及时采样工作站的相应数据返回给服务器端。该系统的运行环境可以运行于Win98、Win95或WinNT、Win2000下。在系统的开发中,引入了WINSOCK通讯控件,除此之外,为较好地实现各项监控操作,还用到了几个API函数。
系统功能
1、监控全部TCP连接:实时监控所有服务器端口的连接情况、及时对异常连接发出警告并提示用户删除异常连接;
2、屏幕监控:该功能允许服务器随时把被监控工作站的屏幕画面抓取到服务器中,网络管理人员对相应工作站所进行的操作一目了然,若发现有非法操作即可采取发送警告或强制措施,强迫其停止相应操作;
3、对工作站进行锁机、关机、限制鼠标活动等;
4、服务器和工作站之间的信息互送。
功能的实现
1、监控全部TCP连接
TCP/IP(Transmission Control Protocol/Internet Protocol:传输控制协议/互联网协议)是一个包括TCP、IP、 UDP、ARP、RARP和ICMP等在内的网络协议集。TCP/IP经常被称为“将Internet绑定在一起的粘合剂”,它允许在空间上分离的多个信息网络连接在一起形成一个巨大的虚拟网络。TCP和UDP(用户数据报协议)是两个最常用的数据传输协议,它们都使用设置监听端口的方法来完成数据传输。
在本文中讨论TCP连接。通过使用TCP, Internet客户机可以打开到另一个Internet客户机的虚拟连接并传送数据流。与UDP不同,TCP协议通过重传丢失的数据报保证传输的可靠性。它也保证在接收端的应用程序按发送的顺序将接收到的位和字节重新组装起来以获取完整的数据。
要获得与服务器系统中全部有效的TCP连接,用到GetTcpTable这个API函数,它定义如下:
Private Declare Function GetTcpTable Lib "iphlpapi.
dll" (ByRef pTcpTable As MIB_TCPTABLE, ByRef
pdwSize As Long, ByVal bOrder As Long) As Long
其中参数pPcpTable是已生成的 TCP连接表缓冲区的指针,参数pdwsize是缓冲区大小(当缓冲区不够大时,该参数返回实际需要的大小),参数bOrder指示连接表是否需要按“Local IP”、“Localport”、“Remote IP”、“Remote port”依次进行排序,1为按此顺序。
通过一个TIMEER控件的TIMER的事件来比较前后两个TCP连接表,我们可以立即发现异常并发出警告。本系统用声音和报警标志提醒用户注意可能的外界入侵。收到警告信号后,我们应首先将可疑连接删除掉,SetTcpEntry函数可以帮助我们删除可疑连接。其定义为:
Private Declare Function SetTcpEntry Lib "iphlpapi.
dll" (ByRef pTcpTable As MIB_TCPROW) As Long
其中参数pTcptable为指向tcp表行的指针。然后将欲删连接的状态置为MIB_TCP_STATE_DELETE_TCB(值为12)即可删除该连接。
TIMER事件源代码:
Private Sub Timer1_Timer()
Dim Return1 As Long, i As Long
Dim Tmp1 As Long, Tmp2 As Long
Dim Ip_Buf(1 To 4) As Byte
Dim Win_Path As String, Tmp3 As String
Return1 = GetTcpTable(TCP1, Len(TCP1), 1)
If Last_Num_Of_Entries 0 And _
Last_Num_Of_Entries TCP1.dwNum_Of_Entries Then
'异常时发出警告
Picture1.Visible = True '警告标志
On Error Resume Next
Win_Path = String(145, 0)
'利用API函数GetWindowsDirectory获得当前系统目录
i = GetWindowsDirectory(Win_Path, 145)
Win_Path = Left(Win_Path, i)
'利用API函数sndPlaySound发出报警声音
i = sndPlaySound(Win_Path + "\Media\Ding.wav", H1)
On Error GoTo 0
Else
If Picture1.Visible = True Then
Picture1.Visible = False
End If
End If
Last_Num_Of_Entries = TCP1.dwNum_Of_Entries
Select Case Return1
Case 0:
Text1 = "": Combo1.Clear
For i = 0 To TCP1.dwNum_Of_Entries - 1
Tmp3 = Str(i + 1) + " "
Select Case TCP1.TCP_Table(i).dwState
' 显示连接状态
Case 1: Tmp3 = Tmp3 + "CLOSED"
Case 2: Tmp3 = Tmp3 + "LISTENING"
Case 3: Tmp3 = Tmp3 + "SYN_SENT"
Case 4: Tmp3 = Tmp3 + "SYN_RCVD"
Case 5: Tmp3 = Tmp3 + "ESTABLISHED"
Case 6: Tmp3 = Tmp3 + "FIN_WAIT1"
Case 7: Tmp3 = Tmp3 + "FIN_WAIT2"
Case 8: Tmp3 = Tmp3 + "CLOSE_WAIT"
Case 9: Tmp3 = Tmp3 + "CLOSING"
Case 10: Tmp3 = Tmp3 + "LAST_ACK"
Case 11: Tmp3 = Tmp3 + "TIME_WAIT"
Case 12: Tmp3 = Tmp3 + "DELETE_TCB"
End Select
Combo1.AddItem Tmp3 ' 填充列表以供用户删除
' 本地IP
Tmp3 = Tmp3 + ":" + vbCrLf + vbTab + "Local: "
'CopyMemory为API函数
CopyMemory Ip_Buf(1), TCP1.TCP_Table(i).dwLocalAddr, 4
Tmp3 = Tmp3 + CStr(Ip_Buf(1)) + "." + _
CStr(Ip_Buf(2)) + "."+ CStr(Ip_Buf(3)) _
+"." + CStr(Ip_Buf(4))
Tmp1 = TCP1.TCP_Table(i).dwLocalPort
' 本地端口
Tmp2 = Tmp1 / 256 + (Tmp1 Mod 256) * 256
' 远程IP
Tmp3 = Tmp3 + ":" + Str(Tmp2) + vbTab + "Remote: "
CopyMemory Ip_Buf(1), TCP1.TCP_Table(i).dwRemoteAddr, 4
Tmp3 = Tmp3 + CStr(Ip_Buf(1)) + "." + CStr(Ip_Buf(2)) _
+ "."+ CStr(Ip_Buf(3)) + "." + CStr(Ip_Buf(4))
' 远程端口
Tmp1 = TCP1.TCP_Table(i).dwRemotePort
Tmp2 = Tmp1 / 256 + (Tmp1 Mod 256) * 256
Tmp3 = Tmp3 + ":" + Str(Tmp2) + vbCrLf
Text1 = Text1 + Tmp3
Next i
Case 50:
MsgBox "系统不支持该API函数": End
Case 87:
MsgBox "无效的参数": End
Case 111:
MsgBox "缓冲区溢出": End
Case 232:
MsgBox "无数据": End
End Select
End Sub
用于删除连接的CLICK事件源代码:
Private Sub delete_Click()
Dim Return1 As Long
If Combo1.ListIndex 0 Then Exit Sub
' 将欲删连接的状态置为值为12
TCP1.TCP_Table(Combo1.ListIndex).dwState = 12
' 执行删除
Return1 = SetTcpEntry(TCP1.TCP_Table(Combo1.ListIndex))
If Return1 = 0 Then
MsgBox "删除成功"
Else
MsgBox "删除失败"
End If
Timer1_Timer
End Sub
2、屏幕监控
当服务器系统发现TCP异常连接时,可通过屏幕监控功能将局域网中被监控工作站的屏幕画面抓取到服务器中并实施相应措施,如对工作站锁机或关机等。此处用到WINSOCK控件,其通讯原理请参阅相关资料,屏幕监控功能用到TCP协议,为了达到更好的效果,可在窗体中加入TIMER控件,设定TIMER事件。
(1) 工作站端
侦听并响应服务器端发出的连接请求和屏幕抓取。其中屏幕抓取功能可通过API函数实现:
Dim a As String
Winsock1.GetData a, vbString
Select Case a
Case "zp"
Picture1.AutoRedraw = True
Picture1.ScaleMode = 1
lDesktop = GetDesktopWindow()
lDC = GetDC(lDesktop)
BitBlt Picture1.hdc, 0, 0, Screen.Width, _
Screen.Height, lDC,0, 0, vbSrcCopy
'获取图像数组
SavePicture Picture1.Image, filename
Winsock1.SendData "okm"
Dim myfile() As Byte
Case "fir" '传第一块图
Open filename For Binary As #1
filelen = LOF(1)
ReDim myfile(1 To blocksize) As Byte
'(const blocksize=3072)
Get #1, , myfile
Winsock1.SendData myfile
curpos = blocksize
Case "next" ‘传其它块
If curpos = filelen Then
Winsock1.SendData "end"
Close #1
Exit Sub
End If
j = curpos + blocksize
If j filelen Then
j = filelen - curpos
Else
j = blocksize
End If
ReDim myfile(1 To j) As Byte
Get #1, , myfile
Winsock1.SendData myfile
curpos = curpos + j
End Select
注意:以上功能在WINSOCK的DataArrival事件中实现。抓取的图象数据量较大,所以需要分块传输。
(2) 服务器端
DataArrival 事件代码:
Dim receivefile() As Byte
ReDim receivefile(bytesTotal) As Byte
Winsock1.GetData receivefile, vbArray + vbByte
'告诉Winsock控件收到的是字节数组类型的数据
If Chr(receivefile(0)) = "o" And _
Chr(receivefile(1)) = "k" And _
Chr(receivefile(2)) = "m" Then
If Dir$(filename) "" Then Kill filename
' 打开文件,准备存储图像
Open filename For Binary As #1
filelen = 0
Winsock1.SendData "fir"
Exit Sub
End If
If Chr(receivefile(0)) = "e" And _
Chr(receivefile(1)) = "n" And _
Chr(receivefile(2)) = "d" Then
Label1.Caption = "end"
Close #1
Picture1.Picture = LoadPicture(filename) '显示图象
Exit Sub
End If
Put #1, , receivefile
Winsock1.SendData "next"
3、其它功能
主要用到一些API函数,如实现屏幕锁定和解锁操作可使用Enable Window,实现关机功能用ExitWindowsEx, 服务器和工作站之间的信息互送用到WINSOCK控件的UDP协议,具体用法请参阅有关资料。
结束语
通过在基本的网络监控系统增加入侵检测,就能够极大提高网络的整体安全性,使之更灵敏、更智能,大大降低入侵的成功率。
如何在 OS X 的网络工具中使用端口扫描器
1.使用安全工具有许多工具可以让我们发现系统中的漏洞,如SATAN等。SATAN是一个分析网络的管理、测试和报告许多信息,识别一些与网络相关的安全问题。当然还有很多像这样的安全工具。包括对TCP端口的扫描或者对多台主机的所有TCP端口实现监听;分析网络协议、监视控制多个网段等,正确使用这些安全工具,及时发现系统漏洞,才能防患于未然。而对于WindowsNT系统平台,可定期检查EventLog中的SECLog记录,查看是否有可疑的情况,防止网络监听与端口扫描。2.安装防火墙防火墙型安全保障技术是基于被保护网络具有明确定义的边界和服务、并且网络安全的威胁仅来自外部的网络。通过监测、限制以及更改跨越“防火墙”的数据流,尽可能的对外部网络屏蔽有关被保护网络的信息、结构,实现对网络的安全保护,因此比较适合于相对独立,与外部网络互连途径有限并且网络服务种类相对单一、集中的网络系统,如Internet。“防火墙”型系统在技术原理上对来自内部网络系统的安全威胁不具备防范作用,对网络安全功能的加强往往以网络服务的灵活行、多样性和开放性为代价,且需要较大的网络管理开销。防火墙型网络安全保障系统实施相当简单,是目前应用较广的网络安全技术,但是其基本特征及运行代价限制了其开放型的大规模网络系统中应用的潜力。由于防火墙型网络安全保障系统只在网络边界上具有安全保障功能,实际效力范围相当有限,因此“防火墙”型安全技术往往是针对特定需要而专门设计实施的系统。对于个人用户,安装一套好的个人防火墙是非常实际而且有效的方法。现在许多公司都开发了个人防火墙,这些防火墙往往具有智能防御核心,攻击,并进行自动防御,保护内部网络的安全。比如蓝盾防火墙系统在内核设计中引入自动反扫描机制,当黑客用扫描器扫描防火墙或防火墙保护的服务器时,将扫描不到任何端口,使黑客无从下手;同进还具有实时告警功能,系统对受到的攻击设有完备的纪录功能,纪录方式有简短纪录、详细记录、发出警告、纪录统计(包括流量、连接时间、次数等)等记录,当系统发生警告时,还可以把警告信息传到呼机和手机上来,让系统管理员及得到通知。3.对络上传输的信息进行加密,可以有效的防止网络监听等攻击目前有许多软件包可用于加密连接,使入侵者即使捕获到数据,但无法将数据解密而失去窃听的意义。最后给系统及网络管理员的一些建议:(1)及时安装各种防火墙;
请问关于网络端口连接方面的详细知识[尽可能详细些]
端口可分为3大类:
1) 公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
2) 注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
3) 动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。
本节讲述通常TCP/UDP端口扫描在防火墙记录中的信息。记住:并不存在所谓ICMP端口。如果你对解读ICMP数据感兴趣,请参看本文的其它部分。
0通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试 图使用一种通常的闭合端口连接它时将产生不同的结果。一种典型的扫描:使用IP地址为 0.0.0.0,设置ACK位并在以太网层广播。
1 tcpmux 这显示有人在寻找SGIIrix机器。Irix是实现tcpmux的主要提供者,缺省情况下tcpmux在这种系统中被打开。Iris机器在发布时含有几个缺省的无密码的帐户,如lp,guest, uucp, nuucp, demos, tutor, diag, EZsetup, OutOfBox, 和4Dgifts。许多管理员安装后忘记删除这些帐户。因此Hacker们在Internet上搜索tcpmux 并利用这些帐户。
7Echo你能看到许多人们搜索Fraggle放大器时,发送到x.x.x.0和x.x.x.255的信息。常见的一种DoS攻击是echo循环(echo-loop),攻击者伪造从一个机器发送到另一个UDP数据包,而两个机器分别以它们最快的方式回应这些数据包。(参见Chargen) 另一种东西是由DoubleClick在词端口建立的TCP连接。有一种产品叫做Resonate Global Dispatch”,它与DNS的这一端口连接以确定最近的路由。Harvest/squid cache将从3130端口发送UDPecho:“如果将cache的source_ping on选项打开,它将对原始主机的UDP echo端口回应一个HIT reply。”这将会产生许多这类数据包。
11 sysstat这是一种UNIX服务,它会列出机器上所有正在运行的进程以及是什么启动了这些进程。这为入侵者提供了许多信息而威胁机器的安全,如暴露已知某些弱点或帐户的程序。这与UNIX系统中“ps”命令的结果相似再说一遍:ICMP没有端口,ICMP port 11通常是ICMPtype=1119 chargen 这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时,会发送含有垃圾字符的数据流知道连接关闭。Hacker利用IP欺骗可以发动DoS攻击伪造两 个chargen服务器之间的UDP由于服务器企图回应两个服务器之间的无限的往返数据通讯一个chargen和echo将导致服务器过载。同样fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。
21 ftp最常见的攻击者用于寻找打开“anonymous”的ftp服务器的方法。这些服务器带有可读写的目录。Hackers或tackers利用这些服务器作为传送warez (私有程序) 和pr0n(故意拼错词而避免被搜索引擎分类)的节点。
22 sshPcAnywhere建立TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点。如果配置成特定的模式,许多使用RSAREF库的版本有不少漏洞。(建议在其它端口运行ssh)还应该注意的是ssh工具包带有一个称为ake-ssh-known-hosts的程序。它会扫描整个域的ssh主机。你有时会被使用这一程序的人无意中扫描到。UDP(而不是TCP)与另一端的5632端口相连意味着存在搜索pcAnywhere的扫描。5632 (十六进制的0x1600)位交换后是0x0016(使进制的22)。
23 Telnet入侵者在搜索远程登陆UNIX的服务。大多数情况下入侵者扫描这一端口是为了找到机器运行的操作系统。此外使用其它技术,入侵者会找到密码。
25 smtp攻击者(spammer)寻找SMTP服务器是为了传递他们的spam。入侵者的帐户总被关闭,他们需要拨号连接到高带宽的e-mail服务器上,将简单的信息传递到不同的地址。SMTP服务器(尤其是sendmail)是进入系统的最常用方法之一,因为它们必须完整的暴露于Internet且邮件的路由是复杂的(暴露+复杂=弱点)。
53 DNSHacker或crackers可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其它通讯。因此防火墙常常过滤或记录53端口。 需要注意的是你常会看到53端口做为UDP源端口。不稳定的防火墙通常允许这种通讯并假设这是对DNS查询的回复。Hacker常使用这种方法穿透防火墙。
67和68 Bootp和DHCPUDP上的Bootp/DHCP:通过DSL和cable-modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址分配。Hacker常进入它们分配一个地址把自己作为局部路由器而发起大量的“中间人”(man-in-middle)攻击。客户端向68端口(bootps)广播请求配置,服务器向67端口(bootpc)广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。
69 TFTP(UDP) 许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常错误配置而从系统提供任何文件,如密码文件。它们也可用于向系统写入文件。
79 finger Hacker用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其它机器finger扫描。
98 linuxconf 这个程序提供linuxboxen的简单管理。通过整合的HTTP服务器在98端口提供基于Web界面的服务。它已发现有许多安全问题。一些版本setuidroot,信任局域网,在/tmp下建立Internet可访问的文件,LANG环境变量有缓冲区溢出。 此外因为它包含整合的服务器,许多典型的HTTP漏洞可能存在(缓冲区溢出,历遍目录等)
109 POP2并不象POP3那样有名,但许多服务器同时提供两种服务(向后兼容)。在同一个服务器上POP3的漏洞在POP2中同样存在。
110 POP3用于客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个(这意味着Hacker可以在真正登陆前进入系统)。成功登陆后还有其它缓冲区溢出错误。
111 sunrpc portmap rpcbind Sun RPCPortMapper/RPCBIND。访问portmapper是扫描系统查看允许哪些RPC服务的最早的一步。常 见RPC服务有:pc.mountd, NFS, rpc.statd, rpc.csmd, rpc.ttybd, amd等。入侵者发现了允许的RPC服务将转向提供 服务的特定端口测试漏洞。记住一定要记录线路中的daemon, IDS, 或sniffer,你可以发现入侵者正使用什么程序访问以便发现到底发生了什么。
113 Ident auth .这是一个许多机器上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多机器的信息(会被Hacker利用)。但是它可作为许多服务的记录器,尤其是FTP, POP, IMAP, SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,你将会看到许多这个端口的连接请求。记住,如果你阻断这个端口客户端会感觉到在防火墙另一边与e-mail服务器的缓慢连接。许多防火墙支持在TCP连接的阻断过程中发回T,着将回停止这一缓慢的连接。
119 NNTP news新闻组传输协议,承载USENET通讯。当你链接到诸如:news:p.security.firewalls/. 的地址时通常使用这个端口。这个端口的连接企图通常是人们在寻找USENET服务器。多数ISP限制只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送spam。
135 oc-serv MS RPC end-point mapper Microsoft在这个端口运行DCE RPC end- point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和/或RPC的服务利用 机器上的end-point mapper注册它们的位置。远端客户连接到机器时,它们查询end-point mapper找到服务的位置。同样Hacker扫描机器的这个端口是为了找到诸如:这个机器上运 行Exchange Server吗?是什么版本? 这个端口除了被用来查询服务(如使用epdump)还可以被用于直接攻击。有一些DoS攻击直接针对这个端口。
137 NetBIOS name service nbtstat (UDP)这是防火墙管理员最常见的信息,请仔细阅读文章后面的NetBIOS一节 139 NetBIOS File and Print Sharing 通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于Windows“文件和打印机共享”和SAMBA。在Internet上共享自己的硬盘是可能是最常见的问题。 大量针对这一端口始于1999,后来逐渐变少。2000年又有回升。一些VBS(IE5 VisualBasicScripting)开始将它们自己拷贝到这个端口,试图在这个端口繁殖。
143 IMAP和上面POP3的安全问题一样,许多IMAP服务器有缓冲区溢出漏洞运行登陆过程中进入。记住:一种Linux蠕虫(admw0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已被感染的用户。当RadHat在他们的Linux发布版本中默认允许IMAP后,这些漏洞变得流行起来。Morris蠕虫以后这还是第一次广泛传播的蠕虫。这一端口还被用于IMAP2,但并不流行。 已有一些报道发现有些0到143端口的攻击源于脚本。
161 SNMP(UDP)入侵者常探测的端口。SNMP允许远程管理设备。所有配置和运行信息都储存在数据库中,通过SNMP客获得这些信息。许多管理员错误配置将它们暴露于Internet。Crackers将试图使用缺省的密码“public”“private”访问系统。他们可能会试验所有可能的组合。 SNMP包可能会被错误的指向你的网络。Windows机器常会因为错误配置将HP JetDirect rmote management软件使用SNMP。HP OBJECT IDENTIFIER将收到SNMP包。新版的Win98使用SNMP解析域名,你会看见这种包在子网内广播(cable modem, DSL)查询sysName和其它信息。
162 SNMP trap 可能是由于错误配置。
177 xdmcp 许多Hacker通过它访问X-Windows控制台,它同时需要打开6000端口。
513 rwho 可能是从使用cable modem或DSL登陆到的子网中的UNIX机器发出的广播。这些人为Hacker进入他们的系统提供了很有趣的信息。
553 CORBA IIOP (UDP) 如果你使用cable modem或DSL VLAN,你将会看到这个端口的广播。CORBA是一种面向对象的RPC(remote procedure call)系统。Hacker会利用这些信息进入系统。
600 Pcserver backdoor 请查看1524端口一些玩script的孩子认为他们通过修改ingreslock和pcserver文件已经完全攻破了系统-- Alan J. Rosenthal.
635 mountd Linux的mountd Bug。这是人们扫描的一个流行的Bug。大多数对这个端口的扫描是基于UDP的,但基于TCP 的mountd有所增加(mountd同时运行于两个端口)。记住,mountd可运行于任何端口(到底在哪个端口,需要在端口111做portmap查询),只是Linux默认为635端口,就象NFS通常运行于2049端口1024 许多人问这个端口是干什么的。它是动态端口的开始。许多程序并不在乎用哪个端口连接网络,它们请求操作系统为它们分配“下一个闲置端口”。基于这一点分配从端口1024开始。这意味着第一个向系统请求分配动态端口的程序将被分配端口1024。为了验证这一点,你可以重启机器,打开Telnet,再打开一个窗口运行“natstat -a”,你将会看到Telnet被分配1024端口。请求的程序越多,动态端口也越多。操作系统分配的端口将逐渐变大。再来一遍,当你浏览Web页时用“netstat”查看,每个Web页需要一个新端口。
1080 SOCKS 这一协议以管道方式穿过防火墙,允许防火墙后面的许多人通过一个IP地址访问Internet。理论上它应该只允许内部的通信向外达到Internet。但是由于错误的配置,它会允许Hacker/Cracker的位于防火墙外部的攻击穿过防火墙。或者简单地回应位于Internet上的计算机,从而掩饰他们对你的直接攻击。WinGate是一种常见的Windows个人防火墙,常会发生上述的错误配置。在加入IRC聊天室时常会看到这种情况。
1114 SQL 系统本身很少扫描这个端口,但常常是sscan脚本的一部分。
1524 ingreslock后门 许多攻击脚本将安装一个后门Sh*ll 于这个端口(尤其是那些针对Sun系统中Sendmail和RPC服务漏洞的脚本,如statd,ttdbserver和cmsd)。如果你刚刚安装了你的防火墙就看到在这个端口上的连接企图,很可能是上述原因。你可以试试Telnet到你的机器上的这个端口,看看它是否会给你一个Sh*ll 。连接到600/pcserver也存在这个问题。
2049 NFS NFS程序常运行于这个端口。通常需要访问portmapper查询这个服务运行于哪个端口,可以闭开portmapper直接测试这个端口。
3128 squid 这是Squid HTTP代理服务器的默认端口。攻击者扫描这个端口是为了搜寻一个代理服务器而匿名访问Internet。你也会看到搜索其它代理服务器的端口:
000/8001/8080/8888。扫描这一端口的另一原因是:用户正在进入聊天室。其它用户(或服务器本身)也会检验这个端口以确定用户的机器是否支持代理。
5632 pcAnywere你会看到很多这个端口的扫描,这依赖于你所在的位置。当用户打开pcAnywere时,它会自动扫描局域网C类网以寻找可能得代理(译者:指agent而不是proxy)。Hacker/cracker也会寻找开放这种服务的机器,所以应该查看这种扫描的源地址。一些搜寻pcAnywere的扫描常包含端口22的UDP数据包。参见拨号扫描。
6776 Sub-7 artifact 这个端口是从Sub-7主端口分离出来的用于传送数据的端口。例如当控制者通过电话线控制另一台机器,而被控机器挂断时你将会看到这种情况。因此当另一人以此IP拨入时,他们将会看到持续的,在这个端口的连接企图。(译者:即看到防火墙报告这一端口的连接企图时,并不表示你已被Sub-7控制。)
6970 RealAudio RealAudio客户将从服务器的6970-7170的UDP端口接收音频数据流。这是由TCP7070端口外向控制连接设置13223 PowWow PowWow 是Tribal Voice的聊天程序。它允许用户在此端口打开私人聊天的接。这一程序对于建立连接非常具有“进攻性”。它会“驻扎”在这一TCP端口等待回应。这造成类似心跳间隔的连接企图。如果你是一个拨号用户,从另一个聊天者手中“继承”了IP地址这种情况就会发生:好象很多不同的人在测试这一端口。这一协议使用“OPNG”作为其连接企图的前四个字节。
17027 Conducent这是一个外向连接。这是由于公司内部有人安装了带有Conducent "adbot" 的共享软件。 Conducent "adbot"是为共享软件显示广告服务的。使用这种服务的一种流行的软件是Pkware。有人试验:阻断这一外向连接不会有任何问题,但是封掉IP地址本身将会导致adbots持续在每秒内试图连接多次而导致连接过载: 机器会不断试图解析DNS名—ads.conducent.com,即IP地址216.33.210.40 ;
216.33.199.77 ;216.33.199.80 ;216.33.199.81;216.33.210.41。(译者:不知NetAnts使用的Radiate是否也有这种现象)
30100 NetSphere木马(TCP) 通常这一端口的扫描是为了寻找中了NetSphere木马。
31337 Back Orifice “eliteHacker中31337读做“elite”/ei’li:t/(译者:法语,译为中坚力量,精华。即 3=E, 1=L, 7=T)。因此许多后门程序运行于这一端口。其中最有名的是Back Orifice。曾经一段时间内这是Internet上最常见的扫描。现在它的流行越来越少,其它的 木马程序越来越流行。
31789 Hack-a-tack 这一端口的UDP通讯通常是由于"Hack-a-tack"远程访问木马(RAT,Remote Access Trojan)。这种木马包含内置的31790端口扫描器,因此任何31789端口到317890端口的连 接意味着已经有这种入侵。(31789端口是控制连接,317890端口是文件传输连接)
32770~32900 RPC服务 Sun Solaris的RPC服务在这一范围内。详细的说:早期版本的Solaris(2.5.1之前)将 portmapper置于这一范围内,即使低端口被防火墙封闭仍然允许Hacker/cracker访问这一端口。 扫描这一范围内的端口不是为了寻找portmapper,就是为了寻找可被攻击的已知的RPC服务。
33434~33600 traceroute 如果你看到这一端口范围内的UDP数据包(且只在此范围之内)则可能是由于traceroute。
41508 Inoculan早期版本的Inoculan会在子网内产生大量的UDP通讯用于识别彼此。参见
端口1~1024是保留端口,所以它们几乎不会是源端口。但有一些例外,例如来自NAT机器的连接。 常看见紧接着1024的端口,它们是系统分配给那些并不在乎使用哪个端口连接的应用程序的“动态端口”。
Server Client 服务描述
1-5/tcp 动态 FTP 1-5端口意味着sscan脚本
20/tcp 动态 FTP FTP服务器传送文件的端口
53 动态 FTP DNS从这个端口发送UDP回应。你也可能看见源/目标端口的TCP连接。
123 动态 S/NTP 简单网络时间协议(S/NTP)服务器运行的端口。它们也会发送到这个端口的广播。
27910~27961/udp 动态 Quake Quake或Quake引擎驱动的游戏在这一端口运行其服务器。因此来自这一端口范围的UDP包或发送至这一端口范围的UDP包通常是游戏。
61000以上 动态 FTP 61000以上的端口可能来自Linux NAT服务器
0条大神的评论