`
denyx123
  • 浏览: 43018 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

协议的应用与实现

阅读更多
关于协议的应用与实现
首先为什么我会想到写这样一个博客,是因为,在工作中,用到的一些技术,时常是一些不常用的协议,虽然网上有些开源的实现,但是,了解协议本身的内容是必须得,这也迫使的我不得不去阅读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服务器马上与客户端断开连接;如果请求被允许,代理服务器就充当客户端与目的主机之间进行双向传递,对客户端而言,就如同直接在与目的主机相连。
分享到:
评论

相关推荐

    Visual C++网络通信协议分析与应用实现 -1

    Visual C++网络通信协议分析与应用实现 -1 Visual C++网络通信协议分析与应用实现 -1 Visual C++网络通信协议分析与应用实现 -1

    can应用层通信协议设计与实现

    7. CAN DNP协议的实现与效果 文章提供了DNP协议实现的详细例子,并给出了效果评估,这有助于理解协议的实际应用效果和可能面临的挑战。 8. 关键技术术语 文档中出现了一些关键的技术术语,比如SJA1000、CAN Device...

    delphi网络通信协议分析与应用实现

    本主题"Delphi网络通信协议分析与应用实现"将深入探讨如何在Delphi环境下理解和实施网络通信协议。 网络通信的核心在于协议,它们定义了数据在网络中的传输方式和格式。常见的网络协议有TCP/IP(传输控制协议/...

    delphi网络通信协议分析与应用实现付书源码

    《Delphi网络通信协议分析与应用实现》是一本专注于Delphi编程语言在构建网络通信系统中的实践指南。这本书深入探讨了网络通信协议的基础知识,并通过实际的Delphi代码示例来展示如何在应用程序中实现这些协议。源码...

    Visual C++网络通信协议分析与应用实现

    Visual C++网络通信协议分析与应用实现 汪晓平,钟军等编著 ISBN号: 7-115-11005-0 出版发行项: 北京-人民邮电出版社 2003 附注项: 本书介绍了如何利用Visual C++ 6.0开发网络通信应用程序的方法,同时主要对...

    Delphi网络通信协议分析与应用实现

    《Delphi网络通信协议分析与应用实现》是针对Delphi编程环境进行网络通信协议解析与实战应用的一本专业书籍。本书旨在帮助读者深入理解网络通信协议,并利用Delphi这一强大的开发工具实现各种网络通信功能。 Delphi...

    网络协议的实现与应用实训教程

    网络协议的实现与应用实训教程网络协议的实现与应用实训教程 3 1.实训目的 本实训的目的通过课程的学习,要求学生:熟练掌握协议服务模 型、服务原语等网络协议工程基本概念;掌握网络协议工程的方法学 和主要环节、...

    四轴伺服驱动器EtherCAT通信协议研究与实现

    四轴伺服驱动器EtherCAT通信协议研究与实现 ...四轴伺服驱动器EtherCAT通信协议研究与实现旨在研究和实现EtherCAT通信协议在伺服控制系统中的应用,旨在提高伺服控制系统的高速性、可靠性和实时性。

    Visual Basic 6.0 网络通信协议分析与应用实现

    《Visual Basic 6.0 网络通信协议分析与应用实现》 在信息技术日新月异的时代,网络通信已经成为软件开发中不可或缺的部分。Visual Basic 6.0(VB6)作为一款经典的编程语言,虽然已有一定的年代,但在教学和小型...

    Visual C++网络通信协议分析与应用实现代码

    《Visual C++网络通信协议分析与应用实现》的代码库主要涵盖了使用Microsoft的Visual C++编程环境进行网络通信协议的设计、解析与应用实践。在这个项目中,开发者将深入理解网络通信的基本原理,学习如何利用C++语言...

    Visual C++网络通信协议分析与应用实现_(只有源码)

    Visual C++网络通信协议分析与应用实现 只有源码 书籍太大了 等我分段后再传啊

    Visual C++网络通信协议分析与应用实现part2

    Visual C++网络通信协议分析与应用实现 ,文件太大了,分5部分上传

    Delphi网络通信协议分析与应用实现源代码

    Delphi网络通信协议分析与应用实现-源代码完整版-人民邮电出版社-钟军

    Visual C++网络通信协议分析与应用实现 part5

    Visual C++网络通信协议分析与应用实现 ,文件太大了,分5部分上传

    Visual C++网络通信协议分析与应用实现 -2

    Visual C++网络通信协议分析与应用实现 -2 Visual C++网络通信协议分析与应用实现 -2 Visual C++网络通信协议分析与应用实现 -2

    visual c++网络通信协议分析与应用实现代码

    本文将深入探讨如何使用Visual C++进行网络通信协议的分析与应用实现,以及相关代码示例。 首先,我们要了解网络通信协议的基础知识。网络通信协议是一组规则,定义了数据在网络中的传输方式。常见的协议有TCP...

Global site tag (gtag.js) - Google Analytics