Jacky's blog
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)
  • shell

  • tool

  • 网络

    • network category
    • http base
      • 挑战性问题
      • misc
        • /etc/hosts
        • SESSION/COOKIE
        • IPv4 地址
        • TCP
        • https vs http
        • socks5 与 socket
        • 抓包与代理协议
      • link
    • network concept
    • https
    • 网络高频问题
    • 网络安全
    • java http sign snip
    • 软路由
    • DHCP
    • ACME
    • 闲置android手机充当软路由
    • 代理检测方式及绕过方式
  • algo

  • compute_base

  • blog

  • growth

  • java

  • C&C++

  • ai

  • secure

  • cms

  • english

  • 生活

  • 金融学

  • more

  • other
  • 网络
Jacky
2023-05-24
目录

http base

# 挑战性问题

  • 弱网优化

# misc

# /etc/hosts

/etc/hosts 是一个在类 Unix 系统(如 Linux、macOS)中用于手动映射主机名到 IP 地址的配置文件。它是一个纯文本文件,允许用户为特定的域名或主机名指定 IP 地址,从而覆盖 DNS 查询的结果。

# SESSION/COOKIE

jump

# IPv4 地址

一个 IPv4 地址,可以使用 16 进制的输出代表. 这里分析下 16 进制各子节代表的意义, 以: 00 02 13 88 7f 00 00 01 00 00 00 00 00 00 00 00 为例

这个 16 进制的输出代表一个 IPv4 地址。让我们一起分析它:

  • 00 02: 这是表示地址族(Address Family)的字段, 其中 00 02 对应 AF_INET, 表示 IPv4 地址族
  • 13 88: 这是表示端口号的字段, 其中 13 88 对应 5000, 表示目标主机的端口号为 5000
  • 7f 00 00 01: 这是表示 IP 地址的字段, 其中 7f 00 00 01 对应 127.0.0.1, 表示目标主机的 IP 地址为 127.0.0.1, 即本地回环地址

所以, 这个 16 进制输出表示将连接目标主机的 IP 地址和端口号设置为 127.0.0.1:5000

在代码中, 这个地址被用作 inet_pton 函数的参数, 将字符串形式的 IP 地址转换为二进制表示。这样就将目标主机的地址设置为 127.0.0.1, 以便与其建立连接

# TCP (opens new window)

什么是TCP

TCP 是 面向连接的、可靠的、基于字节流 的传输层通信协议 用于保证可靠性和流量控制维护的某些状态信息, 这些信息的组合, 包括 Socket、序列号和窗口大小称为连接

# https vs http (opens new window)

# socks5 与 socket

SOCKS5 和 Socket 是两个相关但不同的概念,它们分别属于不同的网络协议层和通信技术,彼此存在一定联系,但不应混淆

SOCKS5 概述
  • SOCKS5 是一种代理协议,用于在客户端和目标服务器之间建立中介服务。它位于传输层和会话层之间,帮助客户端通过代理服务器发送网络请求,而不直接与目标服务器通信。它可以支持 TCP 和 UDP 协议,因此可以处理各种类型的流量,包括 HTTP、FTP、SMTP、POP3、游戏、流媒体等

  • 工作方式: 当客户端连接到 SOCKS5 代理时,代理服务器将转发客户端的请求到目标服务器,再将响应返回给客户端。这样,客户端的真实 IP 地址不会暴露给目标服务器

Socket 概述
  • Socket 是网络编程中的一种通信机制,用于建立两个网络节点之间的连接。Socket 是在传输层(TCP/IP 协议栈)上操作的抽象接口,允许程序读写网络数据

  • 工作方式: Socket 是网络通信的基本工具。客户端和服务器通过创建和使用 Socket 进行连接,数据通过 TCP 或 UDP 协议在 Socket 之间传输。例如,在 TCP 连接中,客户端的 Socket 会向服务器的 Socket 发起请求,建立连接后进行数据传输

SOCKS5 与 Socket 的关系
  • SOCKS5 依赖于 Socket: SOCKS5 代理协议本质上依赖于 Socket 进行通信。在客户端与 SOCKS5 代理服务器之间的连接,或者代理服务器与目标服务器之间的连接,都是通过底层的 TCP 或 UDP Socket 建立的。SOCKS5 代理处理的是请求的转发,Socket 则是承载这些请求和响应的传输通道

  • 作用层次不同: Socket 是一种低级的网络编程接口,负责实际的数据传输,而 SOCKS5 是一种高级代理协议,负责在客户端和服务器之间中介、路由网络请求

简单对比
特性 SOCKS5 Socket
功能 代理协议,转发客户端请求到目标服务器 网络编程接口,建立两个节点间的连接
工作层次 会话层、传输层(代理服务器与应用层之间) 传输层(处理 TCP/UDP 连接和通信)
支持协议 支持 TCP 和 UDP 等多种协议 支持 TCP、UDP,依赖具体的实现(如 IP 协议)
使用场景 用于网络代理、隐私保护、绕过地理封锁等 用于建立、维护、关闭网络连接,传输数据
依赖关系 依赖 Socket 进行底层数据传输 是底层数据传输的工具

# 抓包与代理协议

  1. 7层代理与抓包的区别
  • 7层代理(反向代理):

    • 工作原理: 7层代理主要用于服务端(服务器端)的负载均衡、安全防护和资源分发等,位于应用层(OSI第七层)。
    • 典型用途: Nginx、HAProxy 等反向代理服务器。
    • 特点: 客户端通常不直接知道反向代理的存在,它在客户端和服务器之间扮演一个中间角色。
    • 无法用于抓包,因为它是为服务端优化的,客户端无法控制。
  • 正向代理:

    • 工作原理: 位于客户端和目标服务器之间,帮助客户端发起请求并返回目标服务器的响应。
    • 正向代理适合抓包,因为你可以在客户端配置代理地址。
    • 典型用途: HTTP/HTTPS 抓包工具(如 Charles、Fiddler)。
    • 特点: 客户端需要明确配置代理信息。
  1. 抓包使用正向代理的原因
  • 透明性: 抓包工具(如 Charles、Wireshark)会作为正向代理运行,拦截并记录客户端与目标服务器之间的通信。
  • SSL/TLS解密: 正向代理能够通过中间人攻击方式(Man-In-The-Middle)解密 HTTPS 数据流进行分析。
  • 可配置性: 手机或其他设备需要配置正向代理地址(例如 192.168.x.x:8888)。

# link

  • xiaolin-网络 (opens new window)
上次更新: 2025/10/09, 23:53:03
network category
network concept

← network category network concept→

最近更新
01
npx 使用指南
10-12
02
cursor
09-28
03
inspect
07-20
更多文章>
Theme by Vdoing | Copyright © 2019-2025 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式