lab02_网络端地址实验项目
学生姓名:苏家铭 合作学生:无
实验地点:济世楼 330 实验时间:2023 年 9 月 13 日
【实验目的】
端口是计算机上用来标识特定进程的编号,通过端口实现了计算机之间进程之间的通信。当我们在浏览网页时,实际上是我们的计算机上的浏览器这个程序与不同网页服务器上的 Web 服务器程序之间在不同的端口上进行通信。这些正在运行的程序被称为网络进程。而本实验利用浏览器上网来呈现网络端地址的作用。
网络进程与一般进程具有相似的特性,唯一不同的是,网络进程需要打开一个或多个传输端口,这些端口号被称为网络端口地址。
这个实验的目标是通过访问不同的网络端口地址,观察浏览器访问网站时的行为以及使用 netstat 命令来观察端口状态,以分析不同端口对于网络通信的影响。
【实验原理】
在计算机网络中,端口是计算机上用来标识特定进程或应用程序的编号。它允许不同的进程在同一台计算机上同时运行,并通过唯一的端口号进行区分。端口号是一个 16 位的数字,通常用整数表示,范围从 0 到 65535。
端口的主要作用包括:
标识进程:通过端口号,网络协议栈可以确定要将数据包传送给哪个进程或应用程序。
多进程通信:允许一台计算机上同时运行多个进程,每个进程可以使用不同的端口号进行通信。
网络服务:不同的网络服务(如 Web 服务器、FTP 服务器、电子邮件服务器等)通常监听不同的端口,以提供不同的服务。
有关端口划分为:
0~1023:系统端口,这些端口只有系统特许的进程才能使用。
1024~65535 端口,用户端口;
1024~5000:临时端口,一般的应用程序使用 1024 到 4999 来进行通讯。
5001~65535:服务器端口,用来给用户自定义端口;
常用的 TCP,UDP 相关端口号如下:
DHCP:服务器端的端口号是 67;
DHCP:客户机端的端口号是 68;
POP3:POP3 接收协议,POP3 客户端使用 SMTP 向服务器发送邮件。POP3 使用的端口号是 110;
SMTP:端口号是 25,SMTP 真正关心的不是邮件如何被传送,而只关心邮件是否能顺利到达目的地;
Telnet:端口号 23 测试端口号,可以使用 telnet 命令来测试端口号是否正常打开还是关闭;
FTP: FTP 使用的端口号是 20 和 21。20 端口用于数据传输,21 端口用于控制信息的传输,控制信息和数据能够同时传输,这是 FTP 的特
殊之处。
TFTP:端口号 69,使用 UDP 的连接 TFTP(Trivial File Transfer Protocol,简单文件传输协议)是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
UDP 53 端口:DNS 域名解析服务;
TCP 80 端口:HTTP 超文本传输服务;
TCP 443 端口:HTTPS 加密的超文本传输。
【实验设备】
实验硬件:济世楼 330 机房电脑与本人笔记本电脑
实验软件:Windows 操作系统
【实验步骤】
具体记录实验过程和方法;
在浏览器分别输入地址:
https://www.tongji.edu.cn:8080;
https://www.tongji.edu.cn:80
http://www.tongji.edu.cn:8080
http://www.tongji.edu.cn:80
观察结果并分析。
进入 CMD 环境,输入命令:netstat -ano 观测。
【实验现象】
记录实验观测的结果,现象和数据;
访问 https://www.tongji.edu.cn:8080:
这个地址使用了 HTTPS 协议,并指定了端口号 8080。HTTPS 通常使用端口 443,但在这种情况下,我们尝试了一个非标准的端口号 8080。结果取决于服务器是否配置了相应的端口监听。
结果:连接失败。
访问 https://www.tongji.edu.cn:80:
这个地址使用了 HTTPS 协议,但指定了标准的端口号 80,这通常是 HTTP 的默认端口。因此,HTTPS 通常不会在 80 端口上工作,而是在 443 端口上。
结果:链接失败,因为服务器上的 HTTPS 服务不会在 80 端口上监听。
访问 http://www.tongji.edu.cn:8080:
这个地址使用了 HTTP 协议,并指定了非标准的端口号 8080。HTTP 通常使用端口 80,但在这种情况下,我们尝试了一个非标准的端口号 8080。
结果:连接失败。
访问 http://www.tongji.edu.cn:80:
这个地址使用了 HTTP 协议,并指定了标准的端口号 80,这是 HTTP 的默认端口。
结果:成功连接,因为 HTTP 服务通常在 80 端口上监听。
使用 netstat -ano 命令观察端口状态:
通过此命令,我们可以查看计算机上当前打开的端口以及它们的状态。
我们可以观察到哪些端口处于 LISTEN(监听)状态,这表示这些端口正在等待连接。
也可以查看每个连接的状态,例如 ESTABLISHED(已建立)、CLOSE_WAIT(等待关闭)等,以了解连接的详细信息。
【分析讨论】
在本次实验中,我深刻认识到计算机之间的网络通信是通过网络进程进行的。这些网络进程负责处理和响应来自其他计算机的请求,实现了计算机网络之间的有效交互。其中,端口号的正确配置对于成功访问网页至关重要。
通过开放正确的端口号,我成功地访问了不同端口上的同一 Web 服务器。这表明,端口号在网络通信中充当了一种关键的标识,用于指示特定的网络服务。特别地,我观察到大多数网页的缺省端口号是 80,即 HTTP 的标准端口。这一事实强调了 80 端口的普遍应用,使得用户在不显式指定端口的情况下,仍能顺利访问 Web 网站。
然而,我也意识到在涉及非标准端口的情况下,如 8080 端口,需要确保服务器正确配置以监听该端口。在未正确配置的情况下,访问可能会受到影响,甚至无法正常进行。因此,了解和配置正确的端口号对于网络服务的可达性至关重要,特别是在网络安全方面。只有谨慎地开放和监听端口,才能有效地防范潜在的安全风险。
以下是一些常见的端口号:
端口 80 - HTTP (Hypertext Transfer Protocol)
应用:Web 服务器,用于传输网页内容。
端口 443 - HTTPS (Hypertext Transfer Protocol Secure)
应用:用于安全的 Web 通信,如网上银行和电子商务网站。
端口 25 - SMTP (Simple Mail Transfer Protocol)
应用:用于发送电子邮件。
端口 110 - POP3 (Post Office Protocol version 3)
应用:用于接收电子邮件。
端口 143 - IMAP (Internet Message Access Protocol)
应用:用于接收电子邮件,并提供更多的邮件管理功能。
端口 21 - FTP (File Transfer Protocol)
应用:用于文件传输,允许用户上传和下载文件到服务器。
端口 22 - SSH (Secure Shell)
应用:用于远程安全访问计算机,进行远程命令行操作。
端口 23 - Telnet
应用:用于远程访问计算机,但不像 SSH 那样安全,通常不建议使用。
端口 53 - DNS (Domain Name System)
应用:用于将域名解析为 IP 地址,使得浏览器可以找到正确的服务器。
端口 67/68 - DHCP (Dynamic Host Configuration Protocol)
应用:用于自动为计算机分配 IP 地址和网络配置信息。
端口 119 - NNTP (Network News Transfer Protocol)
应用:用于阅读和发布新闻组文章。
端口 161/162 - SNMP (Simple Network Management Protocol)
应用:用于监视和管理网络设备和服务器。
端口 445 - Microsoft-DS (Microsoft Directory Services)
应用:用于 Windows 共享文件和打印机。
端口 3306 - MySQL
应用:用于访问和管理 MySQL 数据库。
端口 5432 - PostgreSQL
应用:用于访问和管理 PostgreSQL 数据库。
端口 1521 - Oracle Database
应用:用于访问和管理 Oracle 数据库。
端口 80/443/8080 - Apache Tomcat
应用:Web 服务器,通常用于 Java 应用程序。