实验
telnet 与 HTTP 实验
telnet命令可以手动编辑和发送报文,Linux 和 Windows 都可以使用
找了一个远程 Linux 服务器进行实验
系统为 CentOS,想要安装telnet命令,root 使用命令:
yum install telnet这里用书上的例子
[root@qmmms ~]# telnet gaia.cs.umass.edu 80
Trying 128.119.245.12...
Connected to gaia.cs.umass.edu.
Escape character is '^]'.
GET /kurose_ross/interactive/index.php HTTP/1.1
Host: gaia.cs.umass.edu
注意最后按两下回车结束,得到结果:
HTTP/1.1 200 OK
Date: Fri, 30 Sep 2022 07:11:13 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.30 mod_perl/2.0.11 Perl/v5.16.3
X-Powered-By: PHP/7.4.30
Set-Cookie: DevMode=0
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
361c
<!DOCTYPE HTML>
<html>
[...省略...]补充:使用Chrome浏览器,进入开发者模式,进入网络,随便选一个请求,可以看到报文
telnet 与 SMTP 实验
SMTP 是电子邮件使用的应用层协议,同样可以使用telnet命令手动模拟
发邮件一端可以使用远程 Linux 主机
使用 SMTP 协议的邮件服务器比较难找,试了试,学校(DUT)邮箱可以用
用户端需要手动键入的信息有:
全部实验过程:
最后在学校邮箱的垃圾邮件里面找到了这个邮件
补充:就现在而言(2022),大部分电子邮件功能支持都以网页版形式呈现,发邮件可以使用 SMTP 协议,查收邮件 HTTP 协议(通过网页)
telnet 与 POP3 实验
POP3协议,用于接收邮件,同样可以使用telnet命令手动模拟
用户端需要手动键入的信息有:
全部实验过程:
DNS实验
使用远程 LInux 主机
基本介绍
bind是linux系统下的一个DNS服务程序
bind-utils是bind软件提供的一组DNS工具包,可以进行域名解析和DNS调试工作
主要有:dig,host,nslookup,nsupdate
安装工具包
Cent OS 使用命令(root用户)
使用
nslookup用于查询DNS的记录,输入一个主机名并发现相应的IP地址
UDP套接字编程
目标
在本地客户端输入一段字符串
发送给服务器
服务器把字符串改为全大写
发送给本地客户端
本地客户端显示修改过的字符串
准备
当然要两台电脑,或者虚拟机,或者租一个远程服务器
作者租了一个远程服务器,Linux 系统,提前把 python3 之类的环境配置好
如果远程服务器开了防火墙,记得把相关端口允许放行,或者短暂关闭防火墙
客户端代码
code 文件夹下 UDPClient.py
服务器端代码
code 文件夹下 UDPServer.py
运行实例
当然,服务器端的代码要先开始运行,然后打开客户端输入
客户端:
服务器端:
TCP套接字编程
目标
在本地客户端输入一段字符串
发送给服务器
服务器把字符串改为全大写
发送给本地客户端
本地客户端显示修改过的字符串
客户端代码
code 文件夹下 TCPClient.py
服务器端代码
code 文件夹下 TCPServer.py
运行实例
客户端:
服务器端:
WebServer套接字编程作业
目标
实现一个 Web 服务器,可以在浏览器上访问
代码
code 文件夹下 WebServer.py
为了传输具体的 html 网页,再编写一个简单 html 文件
code 文件夹下 HelloWorld.html
部署
将两个文件都放在远程服务器上,运行 WebServer.py
最后更新于