欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

菜鸟必备:个人电脑端口完全解析

程序员文章站 2022-08-25 23:13:48
菜鸟必备:个人电脑端口完全解析...

  端口可分为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页需要一个新端口。

  1025 参见1024

  1026 参见1024

  1080 socks 这一协议以管道方式穿过防火墙,允许防火墙后面的许多人通过一个ip地址访问internet。理论上它应该只允许内部的通信向外达到internet。但是由于错误的配置,它会允许hacker/cracker的位于防火墙外部的攻击穿过防火墙。或者简单地回应位于internet上的计算机,从而掩饰他们对你的直接攻击。 wingate是一种常见的windows个人防火墙,常会发生上述的错误配置。在加入irc聊天室时常会看到这种情况。

  1114 sql 系统本身很少扫描这个端口,但常常是sscan脚本的一部分。

  1243 sub-7木马(tcp)参见subseven部分。

  1524 ingreslock后门 许多攻击脚本将安装一个后门sh*ll 于这个端口(尤其是那些针对sun系统中sendmail和rpc服务漏洞的脚本,如statd,ttdbserver和cmsd)。如果你刚刚安装了你的防火墙就看到在这个端口上的连接企图,很可能是上述原因。你可以试试telnet到你的机器上的这个端口,看看它是否会给你一个sh*ll 。连接到600/pcserver也存在这个问题。

  2049 nfs nfs程序常运行于这个端口。通常需要访问portmapper查询这个服务运行于哪个端口,但是大部分情况是安装后nfs杏谡飧龆丝冢?acker/cracker因而可以闭开portmapper直接测试这个端口。

  3128 squid 这是squid http代理服务器的默认端口。攻击者扫描这个端口是为了搜寻一个代理服务器而匿名访问internet。你也会看到搜索其它代理服务器的端口: 000/8001/8080/8888。扫描这一端口的另一原因是:用户正在进入聊天室。其它用户(或服务器本身)也会检验这个端口以确定用户的机器是否支持代理。请查看5.3节。

  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是否也有这种现象)

  27374 sub-7木马(tcp) 参见subseven部分。

  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 *)。这种木马包含内置的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。参见traceroute分。

  41508 inoculan早期版本的inoculan会在子网内产生大量的udp通讯用于识别彼此。参见 http://www.circlemud.org/~jelson/software/udpsend.html

  http://www.ccd.bnl.gov/nss/tips/inoculan/index.html

  端口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服务器(ip asquerade)