echo协议

发布时间:2016-12-25 来源: 协议 点击:

篇一:电子科技大学计算机网络编程实验报告echo服务器端

实验报告

课程名称:计算机网络编程

学 院:计算机科学与工程学院

专 业:计算机科学与技术

指导教师:

学生姓名:田茂

学 号:2013060103004

实验成绩:

日 期:2015年11月

电子科技大学计算机学院实验中心

电 子 科 技 大 学

实验报告

一、实验二:(实验项目的名称):并发的面向连接的服务器软件的实现

二、实验室名称: 主楼A2-412 实验时间:第十一周周日9:00-12:00

三、实验目的:

1. 掌握TCP并发服务器端软件的工作原理。

2. 掌握针对ECHO服务的TCP并发服务器端软件的编程步骤和编程实现,并最终形成可执行代码。

四、实验原理:

Echo服务是一种非常有用的用于调试和检测的工具。这个协议的作用也十分简单,接收到什么原封发回就是了。 基于TCP协议的Echo服务有一种Echo服务被定义为在TCP协议上的面向连接的应用。主要用于调试和检测中。它可以基于TCP协议,服务器就在TCP端口7检测有无消息,如果使用UDP协议,基本过程和TCP一样,检测的端口也是7。是路由也是网络中最常用的数据包,可以通过发送echo包知道当前的连接节点有那些路径,并且通过往返时间能得出路径长度。

五、实验内容:

本实验主要完成针对ECHO服务的TCP服务器软件的实现,要求该服务器能并发地向多个客户提供ECHO服务,并发方式可自行选择多进程、多线程或单线程。实验内容包括:

1、编程环境的准备,要求在Linux操作系统下安装GCC或CC编译器。

2、利用Vi编辑器(或其他编辑软件)编写服务器软件代码

3、利用GCC编译器调试并形成可执行代码

4、运行服务器程序,验证功能实现。

5、在多个客户机上运行ECHO客户端软件,并发地向服务器请求ECHO服务。(也可以在同一台机器上运行多个ECHO客户程序副本)

6、程序框图如下:

六、实验器材(设备、元器件):

Ubtuntu14.04操作系统;gcc编译工具;ScureCRT工具

七、实验步骤:

本实验主要任务是编写完成基于TCP协议的服务器端网络程序,该网络服务器程序能并发向多个网络客户提供ECHO服务。

实验首先通过在服务器机器上启动基于TCP的ECHO服务,该主机运行Linux操作系统。然后在多个客户机上启动基于TCP的ECHO客户程序,这些客户程序可以并发地发起向ECHO服务器的连接请求,当网络连接建立后,用户就可以循环从键盘上输入任意字符串,并将字符串发往服务器,然后接收服务器返回的结果并打印。

具体的实验步骤如下:

1.在Windows机上安装Linux环境, 如Vmware下安装Linux, 或装Ubuntu, 或直接安装Linux hat等.

2.利用编辑器编写源程序,以下为vi示例。

3.源代码如下:

#define _USE_BSD

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <string.h>

#include <stdarg.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <arpa/inet.h>

#include <netdb.h>

#include <signal.h>

#include <errno.h>

#define QLEN 32

#define BUFSIZE 4096

extern int errno;

unsigned short portbase = 0;

void reaper(int);

int TCPechod(int fd);

int errexit(const char *format,...);

int passivesock(const char *service, const char *transport, int qlen); int passiveTCP(const char *service,int qlen);

int main(int a

echo协议

rgc, char *argv[]){

char *service= "echo";

struct sockaddr_in fsin;

unsigned int alen;

int msock,ssock;

switch(argc){

case 1:

break;

case 2:

service=argv[1];

break;

default:

errexit("usage: TCPechod [port]\n");

}

msock=passiveTCP(service,QLEN);

(void)signal(SIGCHLD,(__sighandler_t)QLEN);

while(1){

alen=sizeof(fsin);

ssock=accept(msock,(struct sockaddr *)&fsin,&alen);if(ssock<0){

if(errno==EINTR) continue;

errexit("accept: %s\n",strerror(errno));

}

switch(fork()){

case 0:

(void)close(msock);

exit(TCPechod(ssock));

default:

(void)close(ssock);

break;

case -1:

errexit("fork: %s\n",strerror(errno));

}

}

}

篇二:端口协议大全

1 tcpmux TCP 端口服务多路复用

5 rje 远程作业入口

7 echo Echo 服务

9 discard 用于连接测试的空服务

11 systat 用于列举连接了的端口的系统状态

13 daytime 给请求主机发送日期和时间

17 qotd 给连接了的主机发送每日格言

18 msp 消息发送协议

19 chargen 字符生成服务;发送无止境的字符流

20 ftp-data FTP 数据端口

21 ftp 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用

22 ssh 安全 Shell(SSH)服务

23 telnet Telnet 服务

25 smtp 简单邮件传输协议(SMTP)

37 time 时间协议

39 rlp 资源定位协议

42 nameserver 互联网名称服务

43 nicname WHOIS 目录服务

49 tacacs 用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统

50 re-mail-ck 远程邮件检查协议

53 domain 域名服务(如 BIND)

63 whois++ WHOIS++,被扩展了的 WHOIS 服务

67 bootps 引导协议(BOOTP)服务;还被动态主机配置协议(DHCP)服务使用 68 bootpc Bootstrap(BOOTP)客户;还被动态主机配置协议(DHCP)客户使用 69 tftp 小文件传输协议(TFTP)

70 gopher Gopher 互联网文档搜寻和检索

71 netrjs-1 远程作业服务

72 netrjs-2 远程作业服务

73 netrjs-3 远程作业服务

73 netrjs-4 远程作业服务

79 finger 用于用户联系信息的 Finger 服务

80 http 用于万维网(WWW)服务的超文本传输协议(HTTP)

88 kerberos Kerberos 网络验证系统

95 supdup Telnet 协议扩展

101 hostname SRI-NIC 机器上的主机名服务

102 iso-tsap ISO 开发环境(ISODE)网络应用

105 csnet-ns 邮箱名称服务器;也被 CSO 名称服务器使用

107 rtelnet 远程 Telnet

109 pop2 邮局协议版本2

110 pop3 邮局协议版本3

111 supc 用于远程命令执行的远程过程调用(RPC)协议,被网络文件系统(NFS)使用 113 auth 验证和身份识别协议

115 sftp 安全文件传输协议(SFTP)服务

117 uucp-path Unix 到 Unix 复制协议(UUCP)路径服务

119 nntp 用于 USENET 讨论系统的网络新闻传输协议(NNTP)

123 ntp 网络时间协议(NTP)

137 netbios-ns 在红帽企业 Linux 中被 Samba 使用的 NETBIOS 名称服务

138 netbios-dgm 在红帽企业 Linux 中被 Samba 使用的 NETBIOS 数据报服务

139 netbios-ssn 在红帽企业 Linux 中被 Samba 使用的NET BIOS 会话服务

143 imap 互联网消息存取协议(IMAP)

161 snmp 简单网络管理协议(SNMP)

162 snmptrap SNMP 的陷阱

163 cmip-man 通用管理信息协议(CMIP)

164 cmip-agent 通用管理信息协议(CMIP)

174 mailq MAILQ

177 xdmcp X 显示管理器控制协议

178 nextstep NeXTStep 窗口服务器

179 bgp 边界网络协议

191 prospero Cliffod Neuman 的 Prospero 服务

194 irc 互联网中继聊天(IRC)

199 smux SNMP UNIX 多路复用

201 at-rtmp AppleTalk 选路

202 at-nbp AppleTalk 名称绑定

204 at-echo AppleTalk echo 服务

206 at-zis AppleTalk 区块信息

209 qmtp 快速邮件传输协议(QMTP)

210 z39.50 NISO Z39.50 数据库

213 ipx 互联网络分组交换协议(IPX),被 Novell Netware 环境常用的数据报协议 220 imap3 互联网消息存取协议版本3

245 link LINK

347 fatserv Fatmen 服务器

363 rsvp_tunnel RSVP 隧道

369 rpc2portmap Coda 文件系统端口映射器

370 codaauth2 Coda 文件系统验证服务

372 ulistproc UNIX Listserv

389 ldap 轻型目录存取协议(LDAP)

427 svrloc 服务位置协议(SLP)

434 mobileip-agent 可移互联网协议(IP)代理

435 mobilip-mn 可移互联网协议(IP)管理器

443 https 安全超文本传输协议(HTTP)

444 snpp 小型网络分页协议

445 microsoft-ds 通过 TCP/IP 的服务器消息块(SMB)

464 kpasswd Kerberos 口令和钥匙改换服务

468 photuris Photuris 会话钥匙管理协议

487 saft 简单不对称文件传输(SAFT)协议

488 gss-http 用于 HTTP 的通用安全服务(GSS)

496 pim-rp-disc 用于协议独立的多址传播(PIM)服务的会合点发现(RP-DISC) 500 isakmp 互联网安全关联和钥匙管理协议(ISAKMP)

535 iiop 互联网内部对象请求代理协议(IIOP)

538 gdomap GNUstep 分布式对象映射器(GDOMAP)

546 dhcpv6-client 动态主机配置协议(DHCP)版本6客户

547 dhcpv6-server 动态主机配置协议(DHCP)版本6服务

554 rtsp 实时流播协议(RTSP)

563 nntps 通过安全套接字层的网络新闻传输协议(NNTPS)

565 whoami whoami

587 submission 邮件消息提交代理(MSA)

610 npmp-local 网络外设管理协议(NPMP)本地 / 分布式排队系统(DQS)

611 npmp-gui 网络外设管理协议(NPMP)GUI / 分布式排队系统(DQS)

612 hmmp-ind HMMP 指示 / DQS

631 ipp 互联网打印协议(IPP)

636 ldaps 通过安全套接字层的轻型目录访问协议(LDAPS)

674 acap 应用程序配置存取协议(ACAP)

694 ha-cluster 用于带有高可用性的群集的心跳服务

749 kerberos-adm Kerberos 版本5(v5)的“kadmin”数据库管理

750 kerberos-iv Kerberos 版本4(v4)服务

765 webster 网络词典

767 phonebook 网络电话簿

873 rsync rsync 文件传输服务

992 telnets 通过安全套接字层的 Telnet(TelnetS)

993 imaps 通过安全套接字层的互联网消息存取协议(IMAPS)

994 ircs 通过安全套接字层的互联网中继聊天(IRCS)

995 pop3s 通过安全套接字层的邮局协议版本3(POPS3)

表 C-1. 著名端口

以下端口是 UNIX 特有的,涉及了从电子邮件到验证不等的服务。在方括号内的名称(如

[service])是服务的守护进程名称或它的常用别名。

端口号码 / 层名称注释

512/tcp exec 用于对远程执行的进程进行验证

512/udp biff [comsat] 异步邮件客户(biff)和服务(comsat)

513/tcp login 远程登录(rlogin)

513/udp who [whod] 登录的用户列表

514/tcp shell [cmd] 不必登录的远程 shell(rshell)和远程复制(rcp)

514/udp syslog UNIX 系统日志服务

515 printer [spooler] 打印机(lpr)假脱机

517/udp talk 远程对话服务和客户

518/udp ntalk 网络交谈(ntalk),远程对话服务和客户

519 utime [unixtime] UNIX 时间协议(utime)

520/tcp efs 扩展文件名服务器(EFS)

520/udp router [route, routed] 选路信息协议(RIP)

521 ripng 用于互联网协议版本6(IPv6)的选路信息协议

525 timed [timeserver] 时间守护进程(timed)

526/tcp tempo [newdate] Tempo

530/tcp courier [rpc] Courier 远程过程调用(RPC)协议

531/tcp conference [chat] 互联网中继聊天

532 netnews Netnews

533/udp netwall 用于紧急广播的 Netwall

540/tcp uucp [uucpd] Unix 到 Unix 复制服务

543/tcp klogin Kerberos 版本5(v5)远程登录

544/tcp kshell Kerberos 版本5(v5)远程 shell

548 afpovertcp 通过传输控制协议(TCP)的 Appletalk 文件编制协议(AFP) 556 remotefs [rfs_server, rfs] Brunhoff 的远程文件系统(RFS)

表 C-2. UNIX 特有的端口

表 C-3列举了由网络和软件社区向 IANA 提交的要在端口号码列表中正式注册的端口。 端口号码 / 层名称注释

1080 socks SOCKS 网络应用程序代理服务

1236 bvcontrol [rmtcfg] Garcilis Packeten 远程配置服务器[a]

1300 h323hostcallsc H.323 电话会议主机电话安全

1433 ms-sql-s Microsoft SQL 服务器

1434 ms-sql-m Microsoft SQL 监视器

1494 ica Citrix ICA 客户

1512 wins Microsoft Windows 互联网名称服务器

1524 ingreslock Ingres 数据库管理系统(DBMS)锁定服务

1525 prospero-np 无特权的 Prospero

1645 datametrics [old-radius] Datametrics / 从前的 radius 项目

1646 sa-msg-port [oldradacct] sa-msg-port / 从前的 radacct 项目

1649 kermit Kermit 文件传输和管理服务

1701 l2tp [l2f] 第2层隧道服务(LT2P) / 第2层转发(L2F)

1718 h323gatedisc H.323 电讯守门装置发现机制

1719 h323gatestat H.323 电讯守门装置状态

1720 h323hostcall H.323 电讯主持电话设置

1758 tftp-mcast 小文件 FTP 组播

1759 mtftp 组播小文件 FTP(MTFTP)

1789 hello Hello 路由器通信端口

1812 radius Radius 拨号验证和记帐服务

1813 radius-acct Radius 记帐

1911 mtp Starlight 网络多媒体传输协议(MTP)

1985 hsrp Cisco 热备用路由器协议

1986 licensedaemon Cisco 许可管理守护进程

1997 gdp-port Cisco 网关发现协议(GDP)

2049 nfs [nfsd] 网络文件系统(NFS)

2102 zephyr-srv Zephyr 通知传输和发送服务器

2103 zephyr-clt Zephyr serv-hm 连接

2104 zephyr-hm Zephyr 主机管理器

2401 cvspserver 并行版本系统(CVS)客户 / 服务器操作

2430/tcp venus 用于 Coda 文件系统(codacon 端口)的 Venus 缓存管理器

2430/udp venus 用于 Coda 文件系统(callback/wbc interface 界面)的 Venus 缓存管理器 2431/tcp venus-se Venus 传输控制协议(TCP)的副作用

2431/udp venus-se Venus 用户数据报协议(UDP)的副作用

2432/udp codasrv Coda 文件系统服务器端口

2433/tcp codasrv-se Coda 文件系统 TCP 副作用

2433/udp codasrv-se Coda 文件系统 UDP SFTP 副作用

2600 hpstgmgr [zebrasrv] HPSTGMGR;Zebra 选路

2601 discp-client [zebra] discp 客户;Zebra 集成的 shell

2602 discp-server [ripd] discp 服务器;选路信息协议守护进程(ripd) 2603 servicemeter [ripngd] 服务计量;用于 IPv6 的 RIP 守护进程 2604 nsc-ccs [ospfd] NSC CCS;开放式短路径优先守护进程(ospfd) 2605 nsc-posa NSC POSA;边界网络协议守护进程(bgpd)

2606 netmon [ospf6d] Dell Netmon;用于 IPv6 的 OSPF 守护进程(ospf6d) 2809 corbaloc 公共对象请求代理体系(CORBA)命名服务定位器

3130 icpv2 互联网缓存协议版本2(v2);被 Squid 代理缓存服务器使用 3306 mysql MySQL 数据库服务

3346 trnsprntproxy Trnsprnt 代理

4011 pxe 执行前环境(PXE)服务

4321 rwhois 远程 Whois(rwhois)服务

4444 krb524 Kerberos 版本5(v5)到版本4(v4)门票转换器

5002 rfe 无射频以太网(RFE)音频广播系统

5308 cfengine 配置引擎(Cfengine)

5999 cvsup [CVSup] CVSup 文件传输和更新工具

6000 x11 [X] X 窗口系统服务

7000 afs3-fileserver Andrew 文件系统(AFS)文件服务器

7001 afs3-callback 用于给缓存管理器回电的 AFS 端口

7002 afs3-prserver AFS 用户和组群数据库

7003 afs3-vlserver AFS 文件卷位置数据库

7004 afs3-kaserver AFS Kerberos 验证服务

7005 afs3-volser AFS 文件卷管理服务器

7006 afs3-errors AFS 错误解释服务

7007 afs3-bos AFS 基本监查进程

7008 afs3-update AFS 服务器到服务器更新器

7009 afs3-rmtsys AFS 远程缓存管理器服务

9876 sd 会话指引器

10080 amanda 高级 Maryland 自动网络磁盘归档器(Amanda)备份服务 11371 pgpkeyserver 良好隐私(PGP) / GNU 隐私卫士(GPG)公钥服务器 11720 h323callsigalt H.323 调用信号交替

13720 bprd Veritas NetBackup 请求守护进程(bprd)

13721 bpdbm Veritas NetBackup 数据库管理器(bpdbm)

13722 bpjava-msvc Veritas NetBackup Java / Microsoft Visual C++ (MSVC) 协议 13724 vnetd Veritas 网络工具

13782 bpcd Vertias NetBackup

13783 vopied Veritas VOPIED 协议

22273 wnn6 [wnn4] 假名/汉字转换系统[c]

篇三:echo命令

echo命令格式和使用2010-09-02 15:42 佚名 hi.baidu.com 我要评论(0) 字号:T | T 下面我们来对echo命令的使用进行一下分析吧。看看在Linux下如何进行操作。那么首先我们讲解了这个命令的格式。

AD:

我们知道echo协议,是网络应答协议。那么我们今天主要讲解一下Linux echo命令。linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

该命令的一般格式为: echo [ -n ] 字符串

其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

功能说明:显示文字。

语法:echo [-ne][字符串]或 echo [--help][--version]

补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。

参 数:-n 不要在最后自动换行

-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般

文字输出:

\a 发出警告声;

\b 删除前一个字符;

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab;

\v 与\f相同;

\\ 插入\字符;

\nnn 插入nnn(八进制)所代表的ASCII字符;

–help 显示帮助

–version 显示版本信息

相关热词搜索:协议 echo echo协议端口号 开放端口扫描协议 echo touch脚膜怎么用

版权所有 小龙文挡网 www.xltkwj.com