关于协议的应用与实现
首先为什么我会想到写这样一个博客,是因为,在工作中,用到的一些技术,时常是一些不常用的协议,虽然网上有些开源的实现,但是,了解协议本身的内容是必须得,这也迫使的我不得不去阅读rfc文档,不得不去了解每一个数据包得意义。
比如,目前,项目用到用TCP 协议模拟处理http请求,SOCKS协议,RTMP协议,SIP协议,这些有些很常见,有些没用过,通过阅读协议,我们可以了解各个协议的内容是怎样的,具体实现时,也不要想的那么复杂,按照协议一条一条的来,具体怎么做就要看各个协议本身了。
1.HTTP协议
request:
GET /form.html HTTP/1.1 (CRLF)
Accept:image/gif,image/x-xbitmap,image/jpeg,application/x-shockwave-flash,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/* (CRLF)
Accept-Language:zh-cn (CRLF)
Accept-Encoding:gzip,deflate (CRLF)
If-Modified-Since:Wed,05 Jan 2007 11:21:25 GMT (CRLF)
If-None-Match:W/"80b1a4c018f3c41:8317" (CRLF)
User-Agent:Mozilla/4.0(compatible;MSIE6.0;Windows NT 5.0) (CRLF)
Host:www.guet.edu.cn (CRLF)
Connection:Keep-Alive (CRLF)
response:
HTTP/1.1 200 OK //请求成功
Server: Microsoft-IIS/5.0 //web服务器
Date: Thu,08 Mar 200707:17:51 GMT
Connection: Keep-Alive
Content-Length: 23330
Content-Type: text/html
Expries: Thu,08 Mar 2007 07:16:51 GMT
Set-Cookie: ASPSESSIONIDQAQBQQQB=BEJCDGKADEDJKLKKAJEOIMMH; path=/
Cache-control: private
2.SOCKS协议
下面是客户端向SOCKS 4代理服务器,发送的连接请求包的格式(以字节为单位):
+——+——+——+——+——+——+——+——+——+——+....+——+
| VN | CD | DSTPORT | DSTIP | USERID |NULL|
+——+——+——+——+——+——+——+——+——+——+....+——+
1 1 2 4 variable 1
VN是SOCK版本,应该是4;
CD是SOCK的命令码,1表示CONNECT请求,2表示BIND请求;
DSTPORT表示目的主机的端口;
DSTIP指目的主机的IP地址;
NULL是0;
代理服务器而后发送回应包(以字节为单位):
+——+——+——+——+——+——+——+——+
| VN | CD | DSTPORT | DSTIP |
+——+——+——+——+——+——+——+——+
1 1 2 4
VN是回应码的版本,应该是0;
CD是代理服务器答复,有几种可能:
90,请求得到允许;
91,请求被拒绝或失败;
92,由于SOCKS服务器无法连接到客户端的identd(一个验证身份的进程),请求被拒绝;
93,由于客户端程序与identd报告的用户身份不同,连接被拒绝。
DSTPORT与DSTIP与请求包中的内容相同,但被忽略。
如果请求被拒绝,SOCKS服务器马上与客户端断开连接;如果请求被允许,代理服务器就充当客户端与目的主机之间进行双向传递,对客户端而言,就如同直接在与目的主机相连。
分享到:
相关推荐
手机通讯功能的实现与手机通讯协议及各种通讯标准密切相关。研究中涵盖了多种通讯协议,例如AT命令集,用于控制基带处理器与操作系统之间的通信;短信息服务规范,用于实现短信服务;点对点协议(PPP),用于建立数据...
7. CAN DNP协议的实现与效果 文章提供了DNP协议实现的详细例子,并给出了效果评估,这有助于理解协议的实际应用效果和可能面临的挑战。 8. 关键技术术语 文档中出现了一些关键的技术术语,比如SJA1000、CAN Device...
本文将深入探讨"Delphi网络通信协议分析与应用实现"这一主题,通过实例源代码帮助读者理解和掌握相关知识。 首先,了解网络通信协议至关重要。协议定义了数据在网络中传输的规则和格式,常见的如TCP/IP协议族,其中...
《Delphi网络通信协议分析与应用实现》是一本专注于Delphi编程语言在构建网络通信系统中的实践指南。这本书深入探讨了网络通信协议的基础知识,并通过实际的Delphi代码示例来展示如何在应用程序中实现这些协议。源码...
《Delphi网络通信协议分析与应用实现》是针对Delphi编程环境进行网络通信协议解析与实战应用的一本专业书籍。本书旨在帮助读者深入理解网络通信协议,并利用Delphi这一强大的开发工具实现各种网络通信功能。 Delphi...
网络协议的实现与应用实训教程网络协议的实现与应用实训教程 3 1.实训目的 本实训的目的通过课程的学习,要求学生:熟练掌握协议服务模 型、服务原语等网络协议工程基本概念;掌握网络协议工程的方法学 和主要环节、...
VC++网络通信协议分析与应用实现pdf书籍
Visual C++网络通信协议分析与应用实现 -1 Visual C++网络通信协议分析与应用实现 -1 Visual C++网络通信协议分析与应用实现 -1
《Visual C++网络通信协议分析与应用实现》的代码库主要涵盖了使用Microsoft的Visual C++编程环境进行网络通信协议的设计、解析与应用实践。在这个项目中,开发者将深入理解网络通信的基本原理,学习如何利用C++语言...
Visual C++网络通信协议分析与应用实现 只有源码 书籍太大了 等我分段后再传啊
Visual C++网络通信协议分析与应用实现 ,文件太大了,分5部分上传
mail、Telnet、ICMP、网络监控、Modem串口通信编程、拨号网络编程、语音电话等Internet上使用的协议与通信协议高级编程开发进行了详细的讲解,并结合大量的实例使读者能够深入的了解各种网络应用程序的开发技巧。...
Delphi网络通信协议分析与应用实现-源代码完整版-人民邮电出版社-钟军
Visual C++网络通信协议分析与应用实现 ,文件太大了,分5部分上传
本文将深入探讨如何使用Visual C++进行网络通信协议的分析与应用实现,以及相关代码示例。 首先,我们要了解网络通信协议的基础知识。网络通信协议是一组规则,定义了数据在网络中的传输方式。常见的协议有TCP...
本源码包“网络通信协议分析与应用实现”旨在帮助开发者深入理解并实际操作这些协议,从而能够构建和优化自己的网络应用。下面将详细探讨网络通信协议的基本概念、常用协议、分析方法以及应用实现的关键技术。 一、...
Visual C++网络通信协议分析与应用实现 汪晓平,钟军等编著 ISBN号: 7-115-11005-0 出版发行项: 北京-人民邮电出版社 2003 附注项: 本书介绍了如何利用Visual C++ 6.0开发网络通信应用程序的方法,同时主要对...