TCP/IP协议分层

tcp/ip协议:网络接口层,网络层,传输层,应用层

应用层面向于大众,我们平时能实际看到的网页,服务就属于应用层

URL结构与解析

对于网页,使用一个网页我们知道需要使用其ip/域名来访问,那对于域名后的路径就是url(统一资源定位符),对于一个url如
https://www.example.com:443/search?q=URL#definition

  • 协议:https
  • 域名:www.example.com
  • 端口:443
  • 路径:/search
  • 查询参数:q=URL
  • 片段标识符:definition

这里需要注意就是参数与片段标识符,一个作用于服务器,一个作用于本地。片段标识符通常可以被称为锚点,也就是定位符,可以迅速打开目标网页且定位到definition部分。

HTTP协议与端口

我们通常见到的协议有https与http协议 他们是超文本(加密)传输协议。http默认的端口为80,https默认的端口为443,一般使用的默认端口在网页上可以不输入端口也能访问。

我们在访问一个网页时,在网络资源里,会有许多接口传输。

常见的http方法与状态码:

应用层的请求与响应的主体结构

HTTP请求报文结构

请求行,请求头,请求空行,请求体

有一个HTTP请求报文
请求:
GET / HTTP/1.1  请求行
请求行下面的都是请求头
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
Cookie: BIDUPSID=7DA2B67526BE680B11D4FC70046CBC27; PSTM=1775546657; BAIDUID=7DA2B67526BE680B45BAD1620BE08A2F:FG=1; H_WISE_SIDS=60279_67603_67861_68165_68230_68265_68375_68421_68454_68541_68547_68519_68622_68610_68671_68698_68742_68545_68730_68773_68889_68907_68909_68834_68920_68951_68982_68998_69004_69011_69017_69015_69023_69060_68551_69065_69069_69035_69085_69097_69086; BAIDUID_BFESS=7DA2B67526BE680B45BAD1620BE08A2F:FG=1; PAD_BROWSER=1; BD_UPN=12314753; ZFY=26q79e1BstNLbxm44LZxnPSq:AL5jvf7hHJNpvWPthsY:C; baikeVisitId=7b305bfc-9257-4282-89bb-7dd544416e30; Hm_lvt_aec699bb6442ba076c8981c6dc490771=1778854124; COOKIE_SESSION=77344_1_6_7_2_13_1_0_5_6_1_1_2864880_0_6_0_1778854126_1778779103_1778854120%7C7%230_1_1778776776%7C1; ploganondeg=1; H_PS_PSSID=67603_67861_68165_69004_69183_69171_69202_69242_69229_69238_69237_69296_69416_69422_69429_69439_69452_69587_69615_69716_69762_69766_69779_69808_69835_69840_69904_69944_69948_69958_70005_70007_70022_70039_70058_70055_70117_70151_70134_70160_70166_70228_70260_70241_70204; BD_HOME=1; BA_HECTOR=8h0h210hag818585808k20al2184801l0m0tr27
Host: www.baidu.com
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36
sec-ch-ua: "Chromium";v="148", "Google Chrome";v="148", "Not/A)Brand";v="99"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
在请求头的下面有一个 空行
我们叫做请求空行

在请求空行的下面有一个重要的参数:涉及到我们web渗透的核心,叫做请求体

HTTP响应报文结构

响应行,响应头,响应空行,响应体

HTTP响应报文
HTTP/1.1 200 OK  响应行
响应行下面的部分叫响应头
Bdpagetype: 1
Bdqid: 0x91366a08060c133b
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Mon, 18 May 2026 12:35:44 GMT
Server: BWS/1.1
Set-Cookie: H_PS_PSSID=67603_67861_68165_69004_69183_69171_69202_69242_69229_69238_69237_69296_69416_69422_69429_69439_69452_69587_69615_69716_69762_69766_69779_69808_69835_69840_69904_69944_69948_69958_70005_70007_70022_70039_70058_70055_70117_70151_70134_70160_70166_70228_70260_70241_70204; path=/; expires=Tue, 18-May-27 12:35:44 GMT; domain=.baidu.com
Set-Cookie: BDSVRTM=5; path=/
Set-Cookie: BD_HOME=1; path=/
Strict-Transport-Security: max-age=172800
Tr_id: super_0x91366a08060c133b
Traceid: 1779107744380431309810463667366935663419
X-Ua-Compatible: IE=Edge,chrome=1
X-Xss-Protection: 1;mode=block
Transfer-Encoding: chunked
响应空行
响应体(响应数据)

关键请求头参数

对于请求头有一些重要的参数如

Accept-Language

用于告知服务器客户端偏好的自然语言类型,通常用于国际化场景。格式为语言代码(如en)或带地区变体(如zh-CN),多个语言可用逗号分隔并按优先级排序。

accept

指定客户端能够处理的响应内容类型(MIME类型),如text/htmlapplication/json。支持通配符(如*/*)和权重参数

携带由服务器通过Set-Cookie头部设置的键值对数据,用于维持会话状态。

user_agent

标识客户端软件的类型、版本及操作系统信息,常用于统计分析或兼容性处理。

代理服务器的作用

正常在网页中访问资源就是一个你来我往。但网安需要知道代理服务器。

代理服务器在网络安全中扮演着关键角色,主要功能包括流量管理、访问控制、数据过滤和隐私保护。以下是代理在请求与响应中的具体作用:

请求阶段的作用

流量中转与匿名化
代理服务器作为客户端与目标服务器之间的中间节点,隐藏客户端的真实IP地址,防止直接暴露于潜在威胁。某些代理(如高匿名代理)会完全剥离原始请求头中的客户端信息,仅保留代理服务器的标识。

访问控制与过滤
企业或机构通常使用代理实施访问策略,例如阻止对恶意网站或非工作相关内容的请求。代理可基于URL、IP或关键词过滤请求,确保合规性。

负载均衡与缓存
反向代理可将请求分发至多个后端服务器,避免单点过载。若请求的资源已缓存,代理直接返回响应,减少带宽消耗和延迟。

响应阶段的作用

内容检查与修改
代理可扫描服务器返回的数据,拦截恶意代码(如XSS或SQL注入 payload)。部分代理会修改响应内容,例如压缩图片或删除敏感信息。

日志与审计
代理记录所有请求和响应,便于分析流量模式、检测异常行为或满足合规要求。日志通常包括时间戳、源IP、目标URL和响应状态码。

加密与隧道传输
SSL/TLS代理可解密流量进行深度检测(如企业防火墙),再重新加密转发。SOCKS代理则建立隧道,支持任意协议的数据转发。

安全增强场景

防止DDoS攻击
代理通过速率限制和IP黑名单缓解洪水攻击,仅转发合法请求至后端服务器。

地理限制绕过
代理通过替换客户端IP的地理位置信息,访问地域限制内容,但需注意法律合规性。

零信任架构
在零信任模型中,代理作为策略执行点(PEP),对所有请求进行身份验证和授权,确保最小权限访问。

主要了解url结构用来了解资源在服务器中的路径,数据请求与响应的结构,代理在中间的作用。攻击者通常使用代理来拦截一些请求,从而分析或者篡改请求数据。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐