<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on 赤色之光的博客</title>
    <link>https://blog.withme.top/posts/</link>
    <description>Recent content in Posts on 赤色之光的博客</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <copyright>© 2026 赤色之光</copyright>
    <lastBuildDate>Thu, 07 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.withme.top/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>socks5协议</title>
      <link>https://blog.withme.top/posts/socks5/</link>
      <pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.withme.top/posts/socks5/</guid>
      <description>&lt;h2 id=&#34;介绍&#34;&gt;介绍&lt;a class=&#34;anchor&#34; href=&#34;#%e4%bb%8b%e7%bb%8d&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;socks5 协议是一个代理协议&lt;/p&gt;&#xA;&lt;h2 id=&#34;实现&#34;&gt;实现&lt;a class=&#34;anchor&#34; href=&#34;#%e5%ae%9e%e7%8e%b0&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;dante 是一个 socks5 服务端软件，可以在 ubuntu 等 linux 系统安装。&lt;/p&gt;&#xA;&lt;h2 id=&#34;报文解析&#34;&gt;报文解析&lt;a class=&#34;anchor&#34; href=&#34;#%e6%8a%a5%e6%96%87%e8%a7%a3%e6%9e%90&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/shikanon/socks5proxy/blob/master/docs/socks5.md&#34;&gt;https://github.com/shikanon/socks5proxy/blob/master/docs/socks5.md&lt;/a&gt;&lt;br&gt;&#xA;这篇文章讲的很不错，我摘抄部分内容。&lt;/p&gt;&#xA;&lt;h3 id=&#34;请求&#34;&gt;请求&lt;a class=&#34;anchor&#34; href=&#34;#%e8%af%b7%e6%b1%82&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;VER&lt;/th&gt;&#xA;          &lt;th&gt;NMETHODS&lt;/th&gt;&#xA;          &lt;th&gt;METHODS&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;1-255&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VER 是 SOCKS 版本，这里应该是 0x05&lt;/li&gt;&#xA;&lt;li&gt;NMETHODS 是 METHODS 部分的长度&lt;/li&gt;&#xA;&lt;li&gt;METHODS 是客户端支持的认证方式列表，每个方法占 1 字节。当前的定义是：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;0x00 不需要认证&lt;/li&gt;&#xA;&lt;li&gt;0x02 用户名，密码认证&lt;/li&gt;&#xA;&lt;li&gt;0xFF 无可接受的方法&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;响应&#34;&gt;响应&lt;a class=&#34;anchor&#34; href=&#34;#%e5%93%8d%e5%ba%94&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;VER&lt;/th&gt;&#xA;          &lt;th&gt;METHOD&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VER 是 SOCKS 版本，这里应该是 0x05；&lt;/li&gt;&#xA;&lt;li&gt;METHOD 是服务端选中的方法。如果返回 0xFF 表示没有一个认证方法被选中，客户端需要关闭连接。&lt;br&gt;&#xA;下面我说一下用户名密码验证的方法&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;请求-1&#34;&gt;请求&lt;a class=&#34;anchor&#34; href=&#34;#%e8%af%b7%e6%b1%82-1&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;鉴定协议版本&lt;/th&gt;&#xA;          &lt;th&gt;用户名长度&lt;/th&gt;&#xA;          &lt;th&gt;用户名&lt;/th&gt;&#xA;          &lt;th&gt;密码长度&lt;/th&gt;&#xA;          &lt;th&gt;密码&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;动态&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;动态&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;版本号为 0x05&lt;/p&gt;&#xA;&lt;h3 id=&#34;响应-1&#34;&gt;响应&lt;a class=&#34;anchor&#34; href=&#34;#%e5%93%8d%e5%ba%94-1&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;鉴定协议版本&lt;/th&gt;&#xA;          &lt;th&gt;鉴定状态&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;其中鉴定状态 0x00 表示成功，0x01 表示失败。&lt;/p&gt;</description>
    </item>
    <item>
      <title>vless协议</title>
      <link>https://blog.withme.top/posts/vless/</link>
      <pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.withme.top/posts/vless/</guid>
      <description>&lt;h2 id=&#34;介绍&#34;&gt;介绍&lt;a class=&#34;anchor&#34; href=&#34;#%e4%bb%8b%e7%bb%8d&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;vless 是类似于 socks5 协议的一种代理协议，被各大代理软件所使用，我推荐这个版本进行学习&lt;br&gt;&#xA;&lt;a href=&#34;https://github.com/sagerNet/sing-vmess&#34;&gt;https://github.com/sagerNet/sing-vmess&lt;/a&gt;&lt;br&gt;&#xA;这个网页进行了简单的介绍，可以在这里了解一下&lt;br&gt;&#xA;&lt;a href=&#34;https://xtls.github.io/development/protocols/vless.html&#34;&gt;https://xtls.github.io/development/protocols/vless.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;报文解析&#34;&gt;报文解析&lt;a class=&#34;anchor&#34; href=&#34;#%e6%8a%a5%e6%96%87%e8%a7%a3%e6%9e%90&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;请求&#34;&gt;请求&lt;a class=&#34;anchor&#34; href=&#34;#%e8%af%b7%e6%b1%82&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;版本号&lt;/th&gt;&#xA;          &lt;th&gt;UUID&lt;/th&gt;&#xA;          &lt;th&gt;附加信息长度 M&lt;/th&gt;&#xA;          &lt;th&gt;附加信息 ProtoBuf&lt;/th&gt;&#xA;          &lt;th&gt;CMD&lt;/th&gt;&#xA;          &lt;th&gt;PORT&lt;/th&gt;&#xA;          &lt;th&gt;ATYP&lt;/th&gt;&#xA;          &lt;th&gt;DST.ADDR&lt;/th&gt;&#xA;          &lt;th&gt;DATA&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;16&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;动态&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;动态&lt;/td&gt;&#xA;          &lt;td&gt;动态&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;版本号目前为 0x00&lt;/li&gt;&#xA;&lt;li&gt;CMD 是命令码&#xA;&lt;ul&gt;&#xA;&lt;li&gt;0x01 表示TCP转发&lt;/li&gt;&#xA;&lt;li&gt;0x02 表示UDP转发&lt;/li&gt;&#xA;&lt;li&gt;0x03 表示MUX&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;ATYP 和 DST.ADDR&#xA;&lt;ul&gt;&#xA;&lt;li&gt;0x01 IPv4 地址，DST.ADDR 部分 4 字节长度&lt;/li&gt;&#xA;&lt;li&gt;0x02 域名，DST.ADDR 部分第一个字节为域名长度，DST.ADDR剩余的内容为域名，没有\0结尾。&lt;/li&gt;&#xA;&lt;li&gt;0x03 IPv6 地址，16 个字节长度。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;DATA 是第一次请求的数据，服务器会转发到目的地址&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这里的 ATYP 和 socks5 是不一样的&lt;/p&gt;&#xA;&lt;h3 id=&#34;响应&#34;&gt;响应&lt;a class=&#34;anchor&#34; href=&#34;#%e5%93%8d%e5%ba%94&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;版本号&lt;/th&gt;&#xA;          &lt;th&gt;附加信息长度 M&lt;/th&gt;&#xA;          &lt;th&gt;附加信息 ProtoBuf&lt;/th&gt;&#xA;          &lt;th&gt;DATA&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;动态&lt;/td&gt;&#xA;          &lt;td&gt;动态&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;DATA 第一次的响应数据&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;之后客户端和目的地址就以服务器为中介互相传递数据&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
