一 摘要
端口是个网络应用中很重要的东西,相当于“门”了。
二 什么是端口
在Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。可见,把数据报顺利的传送到目的主机是没有问题的。问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。
本地操作系统会给那些有需求的进程分配协议端口(protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。
端口其实就是队,操作系统为各个进程分配了不同的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。
不光接受数据报的进程需要开启它自己的端口,发送数据报的进程也需要开启端口,这样,数据报中将会标识有源端口,以便接受方能顺利的回传数据报到这个端口。
三 端口的分类
在Internet上,按照协议类型分类,端口被分为TCP端口和UDP端口两类,虽然他们都用正整数标识,但这并不会引起歧义,比如TCP的80端口和UDP的80端口,因为数据报在标明端口的同时,还将标明端口的类型。
从端口的分配来看,端口被分为固定端口和动态端口两大类(一些教程还将极少被用到的高端口划分为第三类:私有端口):
固定端口(0-1023):
使用集中式管理机制,即服从一个管理机构对端口的指派,这个机构负责发布这些指派。由于这些端口紧绑于一些服务,所以我们会经常扫描这些端口来判断对方是否开启了这些服务,如TCP的21(ftp),80(http),139(netbios),UDP的7(echo),69(tftp)等等一些大家熟知的端口;
动态端口(1024-49151):
这些端口并不被固定的捆绑于某一服务,操作系统将这些端口动态的分配给各个进程,同一进程两次分配有可能分配到不同的端口。不过一些应用程序并不愿意使用操作系统分配的动态端口,他们有其自己的‘商标性’端口,如oicq客户端的4000端口,木马冰河的7626端口等都是固定而出名的。
四 端口在入侵中的作用
有人曾经把服务器比作房子,而把端口比作通向不同房间(服务)的门,如果不考虑细节的话,这是一个不错的比喻。入侵者要占领这间房子,势必要破门而入(物理入侵另说),那么对于入侵者来说,了解房子开了几扇门,都是什么样的门,门后面有什么东西就显得至关重要。
入侵者通常会用扫描器对目标主机的端口进行扫描,以确定哪些端口是开放的,从开放的端口,入侵者可以知道目标主机大致提供了哪些服务,进而猜测可能存在的漏洞,因此对端口的扫描可以帮助我们更好的了解目标主机,而对于管理员,扫描本机的开放端口也是做好安全防范的第一步。
五 端口的相关工具
1 netstat -an
的确,这并不是一个工具,但他是查看自己所开放端口的最方便方法,在cmd中输入这个命令就可以了。如下:
C:\>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1028 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3372 0.0.0.0:0 LISTENING
UDP 0.0.0.0:135 *:*
UDP 0.0.0.0:445 *:*
UDP 0.0.0.0:1027 *:*
UDP 127.0.0.1:1029 *:*
UDP 127.0.0.1:1030 *:*
这是我没上网的时候机器所开的端口,两个135和445是固定端口,其余几个都是动态端口。
2 fport.exe和mport.exe
这也是两个命令行下查看本地机器开放端口的小程序,其实与netstat -an这个命令大同小异,只不过它能够显示打开端口的进程,信息更多一些而已,如果你怀疑自己的奇怪端口可能是木马,那就用他们查查吧。
3 activeport.exe(也称aports.exe)
还是用来查看本地机器开放端口的东东,除了具有上面两个程序的全部功能外,他还有两个更吸引人之处:图形界面以及可以关闭端口。这对菜鸟来说是个绝对好用的东西,推荐使用喔。
4 superscan3.0
它的大名你不会没听说过吧,纯端口扫描类软件中的NO.1,速度快而且可以指定扫描的端口,不多说了,绝对必备工具。
六 保护好自己的端口
刚接触网络的朋友一般都对自己的端口很敏感,总怕自己的电脑开放了过多端口,更怕其中就有后门程序的端口,但由于对端口不是很熟悉,所以也没有解决办法,上起网来提心吊胆。其实保护自己的端口并不是那么难,只要做好下面几点就行了:
1) 查看:经常用命令或软件查看本地所开放的端口,看是否有可疑端口;
2) 判断:如果开放端口中有你不熟悉的,应该马上查找端口大全或木马常见端口等资料(网上多的很),看看里面对你那个可疑端口的作用描述,或者通过软件查看开启此端口的进程来进行判断;
3) 关闭:如果真是木马端口或者资料中没有这个端口的描述,那么应该关闭此端口,你可以用防火墙来屏蔽此端口,也可以用本地连接-TCP/IP-高级-选项-TCP/IP筛选,启用筛选机制来筛选端口;
注意:判断时候要慎重,因为一些动态分配的端口也容易引起你多余的怀疑,这类端口一般比较低,且连续。还有,一些狡猾的后门软件,他们会借用80等一些常见端口来进行通信(穿透了防火墙),令人防不胜防,因此不轻易运行陌生程序才是关键。
分享到:
相关推荐
2. 演示:使用端口扫描对一台主机进行扫描,并显示出结果(一台主机上有哪些端口是打开的)。对一个网段进行 IP扫描,显示出结果(一个网段内有哪些主机是开机的)。 3. 在使用 ICMP Echo扫描时,要求程序能够判断...
计算机应用基础知识是计算机专业学习的起点,涉及计算机硬件、软件、基本架构、指令系统、编程语言等关键内容。 ### 计算机硬件知识 - **早期计算机发展**:文档中提到了UNIVAC、EDSAC、ENIAC和EDVAC,这些都是...
计算机网络是信息技术领域中的核心组成部分,它涉及到网络通信、数据传输和网络安全等多个方面。在这个“计算机网络-端口扫描-...这些资料将帮助学生系统地学习端口扫描技术,并以项目的形式将理论知识转化为实践能力。
端口知识---------从基础到进阶!(常用端口功能+攻防).pdf端口知识---------从基础到进阶!(常用端口功能+攻防).pdf
【计算机网络课程设计报告-端口扫描器】 端口扫描器是网络安全领域中的一种关键工具,主要用于检测远程或本地主机的潜在安全漏洞。本报告详细介绍了如何设计并实现一个基于TCP connect的端口扫描器,旨在加深对TCP/...
下面是关于计算机网络课程设计的一些重要知识点: 实验平台和器材准备 在计算机网络课程设计中,实验平台和器材准备是非常重要的。实验平台可以是基于Windows或Linux的操作系统,器材则包括计算机、网络设备、...
备注 本次计算机网络课程设计我主要是学习一下端口扫描工具的基本知识以及研究别人做出的端口扫描工具,以下即是本次研究的相关研究报告。鉴于自己计算机方面知识不是很好,不足之处还请老师指出与修正。 端口扫描器...
### 光纤网络基础知识 #### 光纤网络技术的起源与发展 随着信息技术的快速发展,特别是进入数字化和网络化的时代之后,对于数据存储的需求呈现出爆发式的增长。这种需求不仅体现在存储容量的急剧膨胀,还包括对...
计算机基础知识涉及计算机硬件、软件、网络等众多方面,它是每个IT专业人士和计算机爱好者必须掌握的。根据提供的文件内容,我们可以从中提取并展开一些基本知识点。 1. 计算机硬件组成 - CPU(中央处理器):负责...
### 计算机常见端口列表详解 #### 1. 端口135、137、139、443 - **135端口**:此端口通常与Microsoft的DCOM服务相关联,用于远程过程调用(RPC),特别是Windows系统中的远程管理和服务控制。它在内部用于映射网络...
本文将深入探讨路由器的基础知识,包括其操作系统、权限等级和常用命令。 首先,路由器通常运行着专门的操作系统,称为IOS(Internetwork Operating System),这是一个高度复杂且功能丰富的系统,尤其在高端路由器...
"计算机网络课程设计-端口...课程设计需要了解计算机网络的基本概念、socket 编程、端口扫描、Windows 和 Linux 环境、CSocket 套接字、Connect 函数、程序流程设计、算法设计、用户界面设计和程序测试和调试等知识点。
vIDCc-端口映射,VB做的实现端口映射的程序,是研究端口映射的好东西。
### 计算机网络课程设计报告——端口扫描程序设计 ...通过学习本项目,学生不仅可以掌握网络编程的基础知识,还能理解如何运用Java语言和Socket API进行端口扫描,这对于未来的网络安全管理和维护工作具有重要意义。
8.内网渗透(八)之基础知识-企业域中计算机分类和专业名 9.内网渗透(九)之内网信息收集-手动本地信息收集 10.内网渗透(十)之内网信息收集-编写自动化脚本收集本地信息 11.内网渗透(十一)之内网信息收集-内网IP扫描和...
在电力学院电路计算机辅助设计中,二端口电路是一个重要的研究对象,因为它广泛应用于通信系统、滤波器设计以及功率电子设备中。本篇文档主要介绍了如何设计和分析二端口电路,包括基本概念、参数计算以及利用...
Java 基础知识 - 网络编程 本文档主要介绍了 Java 语言中的网络编程基础知识,包括软件架构、网络通信协议、协议分类、网络编程三要素等内容。 软件架构 --------- 在软件架构中,我们通常会遇到两种架构模式:...
了解电脑端口的基础知识对于网络管理和问题排查至关重要。 一、端口的分类与编号 1. 端口类型:计算机中的端口分为两种,一种是物理端口,如USB、以太网接口等;另一种是逻辑端口,主要指网络通信中的端口号,我们...
要实现端口扫描器,你需要掌握以下C语言基础知识: - 基本数据类型:如int,char,指针等。 - 输入/输出函数:如printf()用于输出,scanf()用于输入。 - 文件操作:如fopen(), fread(), fwrite()等用于读写文件,...