您现在的位置:网站首页答辩论文计算机毕业设计

毕业设计 基于Linux的Telnet客户端软件(远程控制)设计与实现

  • 简介:毕业设计-基于Linux的Telnet客户端软件(远程控制)设计与实现,共39页,14669字,附完整c语言程序和相关文档,摘要,本系统通过设计一个基于Linux环境的Telnet客户端软件来实现。Telnet协议(Telecommunication network protocol,电信
    类型:word+c    页数:39    字数:14669   
    资料包括:论文 程序   
    • 请与管理员联系购买资料 QQ:5739126
  • 论文简介
  • 相关论文
  • 论文下载
文件大小:1.83MB
适用专业:程序设计
适用年级:大学
论文编号:208848

论文简介:

毕业设计-基于Linux的Telnet客户端软件(远程控制)设计与实现,共39页,14669字,附完整c语言程序和相关文档
摘要
本系统通过设计一个基于Linux环境的Telnet客户端软件来实现。Telnet协议(Telecommunication network protocol,电信网络协议)是TCP/IP协议族中的一员,工作在应用层,提供了远程登录的功能。所设计的软件的用户界面为Linux环境下的命令行,能够实现基于Linux环境的远程控制,例如,在本地运行服务器端的命令,查看和配置远程系统等;能通过选项协商,使Telnet工作在最佳模式下;能实现远程登录到Linux、Windows等操作系统上。本Telnet客户端主要通过三个有限状态机(Finite state machine,简称FSM)实现Telnet过程,分别为主有限状态机,套接字输出有限状态机,子选项协商有限状态机。该Telnet客户端支持回显方式、二进制发送和操作方式等的选项协商 ,并且支持对终端类型的子选项协商。本系统可用于远程教学和远程维护中。
关键词: Linux;远程登录;远程控制;Telnet;有限状态机


目次
摘要 I
Abstract II
1  绪论 1
1.1 Telnet简介 1
1.2 实现本设计的意义 1
2  问题分析 2
2.1 Telnet协议详解 2
2.1.1 Telnet客户和服务器的典型连接图 2
2.1.2 NVT 3
2.1.3 Telnet命令 3
2.1.4 选项协商 4
2.1.5 子选项协商 6
2.1.6 Telnet的操作方式 6
2.1.7 同步信号 7
2.1.8 客户的转义符 7
2.2 Linux中的终端I/O 7
2.2.1 Linux中的终端I/O介绍 8
2.2.2 控制设备驱动器 9
3  系统总体设计 10
3.1 技术方案 10
3.2 设计考虑 10
3.3 模块划分 10
3.4 系统结构 11
4  数据结构描述 13
4.1 有限状态机 13
4.1.1有限状态机的规约 13
4.1.2 有限状态机的实现 13
4.1.3 压缩的有限状态机表示 14
4.1.4 在运行时压缩的有限状态机的表示 15
4.2 针对来自服务器数据的主有限状态机 15
4.3 套接字输出有限状态机 17
4.4 选项子协商有限状态机 18
5  算法描述及实现 20
5.1 Telnet客户端程序主函数 20
5.2 Telnet客户端程序核心 20
5.3 设置终端 20
5.4 恢复终端设置 21
5.5 主有限状态机的实现 21
5.6 套接字输出有限状态机的实现 21
5.7 子选项协商有限状态机的实现 22
5.8 打印从套接字接收到的单个字符 22
5.9 向服务器发送数据时NVT的实现 22
6  运行及测试 23
6.1 登录到其他Linux系统 23
6.2 登录远程的xp系统 25
6.3 运行无任何协商的服务器端,并登录 26
7  结论 27
致谢 28
参考文献 29
附录 30
附录1 Telnet客户端主程序 30
附录2 Telnet客户端程序核心代码 31


 技术方案
1) 在PC机上使用VMware虚拟机建立两个Linux系统和一个xp系统,并组成一个局域网。
2) 使用C语言,调用Linux的系统函数实现Telnet客户端程序。
3) 用设计的Telnet客户端运行在一个Linux系统上,并和另一个Linux系统以及xp系统上的Telnet服务器端进行通信,控制服务器端系统。
4)在Linux环境下实现一个简单的Telnet服务器端程序,测试未进行选项协商时Telnet的工作状态与效果。
设计考虑
1) 在Linux系统环境下实现Telnet客户端程序。
2) 键盘输入的数据和TCP接收到的数据同步处理。
3) 基于NVT (网络虚拟终端)实现Telnet协议。
4) 处理Telnet的选项协商问题。
表3-1文件结构
文件名 目录 简介
main.c mytelnet/ telnet客户端的主函数,管理人机界面
telnet.h mytelnet/ telnet客户端用到的命令的宏定义
connect.h mytelnet/ 提供进行telnet连接的接口
fsm_fuild.h mytelnet/ 提供建立并初始化三个有限状态机的接口
fsm_struct.h mytelnet/ 定义描述三个有限状态机的压缩转移矩阵的符号
common_fsm.h mytelnet/ 提供有限状态机共用函数库的接口
main_fsm.h mytelnet/ 提供主有限状态机函数库的接口
key_fsm.h mytelnet/ 提供套接字输出有限状态机函数库的接口
sub_fsm.h mytelnet/ 提供子选项协商有限状态机函数库的接口
connect.c mytelnet/ telnet连接的具体实现,通过调用TCP套接字实现连接
fsm_fuild.c mytelnet/ 建立并初始化三个有限状态机
fsm_struct.c mytelnet/ 初始化描述三个有限状态机的压缩转移矩阵
common_fsm.c mytelnet/ 有限状态机共用函数库
main_fsm.c mytelnet/ 主有限状态机函数库
key_fsm.c mytelnet/ 套接字输出有限状态机函数库
sub_fsm.c mytelnet/ 子选项协商有限状态机函数库
说明:
该客户端程序使用了自上而下的设计方法,把整个程序分成几个模块。最顶层的模块是main.c文件,其他的所有模块都被该顶层模块直接或间接地调用。telnet.h中包含了其他所有文件都会用到的命令的宏定义,声明远程服务器地址和终端参数结构体的全局变量。
其他的各个c文件都对应一个同名头文件,c文件有变量的定义及函数的实现,头文件用于与其他模块的交互。系统包含控制Telnet连接的模块connet.c和管理三个有限状态机的模块fsm_build.c。系统的主要部分是管理有限状态机的模块,该模块包括通用函数库common_fsm.c、用压缩的转移矩阵描述三个有限状态机的fsm_struct.c、各个有限状态机的函数库。
当需要添加更多的Telnet选项时,只要在对应的有限状态机函数库中添加函数,并修改fsm_struct.c中压缩转移矩阵即可。


论文文件预览:
共6文件夹,75个文件,文件总大小:1.83MB,压缩后大小:1.08MB

  • 毕业设计-基于Linux的Telnet客户端软件(远程控制)设计与实现
  • 代码
  • 参考工程
  • telnet
  • swp.do_echo.c.swp  [4.00KB]
  • ccerrexit.c  [520.00B]
  • cconnectsock.c  [2.29KB]
  • cconnectTCP.c  [585.00B]
  • cconnectUDP.c  [584.00B]
  • cdcon.c  [418.00B]
  • cdo_echo.c  [1.36KB]
  • cdo_noga.c  [624.00B]
  • cdo_notsup.c  [480.00B]
  • cdo_txbinary.c  [726.00B]
  • cerrexit.c  [426.00B]
  • cfsmbuild.c  [740.00B]
  • cfsminit.c  [985.00B]
  • hlocal.h  [409.00B]
  • \Makefile  [1.63KB]
  • crecopt.c  [631.00B]
  • cscrgetc.c  [701.00B]
  • cscrinit.c  [1.22KB]
  • cscrwrap.c  [815.00B]
  • csofsm.c  [1.33KB]
  • csonotsup.c  [553.00B]
  • csoputc.c  [979.00B]
  • csowrite.c  [703.00B]
  • cstatus.c  [1.20KB]
  • csubend.c  [398.00B]
  • csubfsm.c  [688.00B]
  • csubopt.c  [599.00B]
  • csubtermtype.c  [652.00B]
  • csuspend.c  [916.00B]
  • csync.c  [676.00B]
  • ctclient.c  [697.00B]
  • ctcout.c  [740.00B]
  • ctelnet.c  [2.12KB]
  • htelnet.h  [2.19KB]
  • ctnabort.c  [380.00B]
  • htnfsm.h  [1.25KB]
  • cttfsm.c  [1.75KB]
  • cttputc.c  [1.41KB]
  • cttwrite.c  [662.00B]
  • cttysetup.c  [1005.00B]
  • cunscript.c  [622.00B]
  • cwill_notsup.c  [459.00B]
  • cwill_termtype.c  [1.13KB]
  • cwill_txbinary.c  [726.00B]
  • cxput.c  [651.00B]
  • txtreadme.txt  [112.00B]
  • mytelnet
  • ccommon_fsm.c  [5.85KB]
  • hcommon_fsm.h  [4.68KB]
  • cconnect.c  [3.02KB]
  • hconnect.h  [582.00B]
  • cfsm_build.c  [2.22KB]
  • hfsm_build.h  [764.00B]
  • cfsm_struct.c  [3.79KB]
  • hfsm_struct.h  [2.88KB]
  • ckey_fsm.c  [6.03KB]
  • hkey_fsm.h  [2.22KB]
  • cmain.c  [6.39KB]
  • cmain_fsm.c  [11.50KB]
  • hmain_fsm.h  [5.96KB]
  • \Makefile  [646.00B]
  • csub_fsm.c  [920.00B]
  • hsub_fsm.h  [730.00B]
  • htelnet.h  [2.70KB]
  • server_telnet
  • \makefile  [630.00B]
  • \server_telnet  [90.48KB]
  • ctelnet-server.c  [7.19KB]
  • c~telnet-server.c~  [7.16KB]
  • otelnet-server.o  [87.71KB]
  • \telserver  [90.48KB]
  • txtReadme.txt  [807.00B]
  • doc测试分析报告.doc  [54.00KB]
  • doc用户使用手册.doc  [44.50KB]
  • doc论文.doc  [1.06MB]
  • doc设计说明书.doc  [250.50KB]
  • doc需求规格说明书.doc  [55.00KB]

查看评论 已有0位网友发表了看法
  • 验证码: