您现在的位置是:网站首页> 学习资源

★★★网络技术相关★★★

摘要

网络技术相关


1.jpg


家庭网络及IT技术相关技术分享

IP地址与子网掩码

华为交换机

几种让同一 VLAN 内不同 IP 段的两台主机能够通讯的方法及实际例子和配置方法

交换机配置教程】全B站最详细的交换机原理讲解与配置教程

使用proxypin抓包某片app(影视资源平台)接口,实现不安装app也能白嫖看电影






IP地址与子网掩码

一、IP地址

1.IP地址分类

IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”。

二进制表示

1.png

A类地址分配给规模特别大的网络使用,B类地址分配给一般的中型网络,C类地址分配给小型网络,如局域网,C类地址分配给小型网络,如局域网。


十进制表示及二进制IP地址特征

2.png

很多情况下IP地址会以十进制表示,但是大家也不要忘了他的二进制表现形式

IP地址构成

 IP地址 = 网络地址 + 主机地址

1.png


这儿的IP地址表现形式参考二进制,若从十进制表现形式(例1.0.0.0)来看,点隔开了每个字节(1字节8位),也就是说A类地址第一个字节是网络地址、后三个字节是主机地址。

 比如一个C类IP地址:192.168.1.1,那么网络地址:192.168.1.0、主机地址:0.0.0.1

网络地址是子网中最小的地址,主机地址该网段中 主机的地址编号,大家把网络地址想象成街道地址,把主机地址想象成门牌号就容易理解了,两者结合的IP地址就是具体的家庭地址(电脑主机)。


二、子网掩码

子网掩码是一个32位的2进制数 ,它必须结合IP地址一起使用。


子网掩码只有一个作用,就是将某个IP地址划分成“网络地址”和“主机地址”两部分


其实很多时候,你并不知道这个IP地址究竟是A类、B类还是C类地址,那么子网掩码的作用就出现了,子网掩码通过和IP地址的“与”运算,求出主机地址是多少。


位与()即如果两个位进行比较两位同时为1,结果才为1,否则结果为0。??


125  &  7

二进制: 01111101 & 00000111


位与比较:    

0 1 1 1 1 1 0 1

---------------

0 0 0 0 0 1 1 1

 |  |  |  |  |  |  |  |

× × × × ×√ × √

 |  |  |  |  |  |  |  |

0 0 0 0 0 1 0 1


结果: 125&7 = 0000 0111 = 5


默认子网掩码

1.png

十进制255也就是二进制11111111,1的个数正是缩写的含义,假如子网掩码是254.0.0.0(二进制11111110),那么它的缩写就是/7


计算公式及案例

计算公式:网络地址 = IP & 子网掩码

主机地址=用 IP 地址的二进制形式减去网络地址的二进制形式,就可以得到主机地址部分

案例1:

1.png

三、广播地址

广播地址是专门用于同时向网络中所有工作站进行发送的一个地址


广播地址是该子网主机地址全1的地址,即子网中最大的地址


比如案例1中的网络地址192.163.0.0(二进制11000000 10100011 00000000 00000000),将其主机地址位置都填上1(二进制11000000 10100011 11111111 11111111),那么他的网络地址就是192.163.255.255(十进制),举个例子,不一定符合现实~


计算方式:广播地址 = (~子网掩码) | 网络地址


这计算公式意思是(子网掩码位取反)或网络地址,需要相关知识,详情见此链接:位运算 看这篇就够了


个人建议形象理解吧,往网络地址的主机地址位置(都是0)填上1即可,下边的案例二算是进阶吧,有需求的同学可以学习下。


案例2:

1.png

  • 由于两个主机的网络地址192.168.0.0192.160.0.0不同,它们被认为处于不同的逻辑网络中。
  • 在没有其他网络设备(如路由器进行路由转发)的情况下,仅仅通过集线器连接,这两个主机不能正常通信。因为集线器工作在物理层,只是简单地将信号进行转发,它不能识别网络层的信息,也不能对不同网络的数据包进行转发。


 四、子网容量相关

(1)子网数

根据子网掩码可划分的最大子网数


计算方式:子网数 = 2^(实际子网掩码缩写 - 相应网络类型默认子网掩码缩写)


可想而知,如果实际子网掩码就是默认子网掩码(255.255.255.0—/24),子网数=2^(24-24),也就是说子网数为1(2的0次方);


如果实际子网掩码为255.255.240.0(11111111 11111111 11111110 00000000—/23) ,子网数=2 ^(24-23),相应的子网数为2 ....


(2)最大主机数

计算方式:最大主机数 = 2^(主机地址的位数)

这儿的位数是指二进制的位数,比如2的二进制为 10,占用2个二进制位,位数是2

假如一个IP地址的主机地址是0.0.0.1(00000000 00000000 00000000 00000001),那么位数是1,最大主机数就是2。


(3)可用主机数

计算方式:可用主机数 = 最大主机数 - 2

由于主机位全为0是网络地址,全为1是广播地址,所以要减2



华为交换机

华为一点通路由器模拟软件

普通交换机(二层交换机)

三层交换机

不仅具备二层交换功能,还具有部分路由器的功能,工作在网络层。它可以根据 IP 地址进行数据包的转发。


二层交换机和三层交换机的区别

1.工作层次不同

二层交换机工作在 OSI 模型的数据链路层(第二层)。它主要根据 MAC 地址来进行数据帧的转发。例如,在一个小型局域网中,当一台计算机 A 要向计算机 B 发送数据时,二层交换机通过学习计算机 A 和 B 的 MAC 地址,构建 MAC 地址表,然后直接将数据帧从与计算机 B 相连的端口转发出去,它不关心 IP 地址等网络层信息。

三层交换机工作在网络层(第三层),它可以根据 IP 地址进行数据包的转发。这就好比在一个较大的网络环境中,可能存在多个不同的子网,三层交换机能够识别数据包中的 IP 地址,并根据路由表信息将数据包转发到正确的子网中。


2.功能特性不同

VLAN(虚拟局域网)支持

二层交换机支持 VLAN 功能。它可以将一个物理的局域网划分成多个逻辑上独立的 VLAN,不同 VLAN 之间的设备在二层是相互隔离的,无法直接通信,这样可以有效地控制广播域,提高网络的安全性和灵活性。例如,在企业网络中,可以将不同部门(如销售部、技术部、财务部)划分到不同的 VLAN 中。

三层交换机同样支持 VLAN 功能,并且可以为不同 VLAN 配置 IP 地址,实现 VLAN 间的路由。这样就能够让不同 VLAN 中的设备通过三层交换机进行通信,比如销售部 VLAN 中的计算机可以通过三层交换机与技术部 VLAN 中的服务器进行数据交互。

路由功能

二层交换机没有路由功能,它不能实现不同网络之间的数据包转发。如果需要连接不同的网络,必须依靠路由器来完成。

三层交换机具有路由功能,它内部集成了部分路由器的功能。它可以通过静态路由或动态路由协议(如 RIP、OSPF 等)来构建路由表,实现不同子网之间的数据包转发,从而减少了对外部路由器的依赖,提高了网络的转发效率。


3.数据转发原理不同

二层交换机转发数据帧是基于 MAC 地址表。当交换机收到一个数据帧时,它会查看数据帧的目的 MAC 地址,然后在 MAC 地址表中查找对应的端口。如果找到匹配的端口,就将数据帧从该端口转发出去;如果找不到,就会将数据帧向除了接收端口之外的所有端口进行广播,直到目的设备响应,然后交换机学习到该设备的 MAC 地址并更新 MAC 地址表。

三层交换机转发数据包时,首先会查看数据包的目的 IP 地址。它会根据路由表来确定数据包应该从哪个端口转发出去。如果数据包的目的 IP 地址在本地子网内,它会通过 ARP 协议获取目的设备的 MAC 地址,然后将数据包封装成数据帧,按照 MAC 地址进行转发;如果目的 IP 地址在其他子网,它会将数据包转发到下一跳路由器对应的端口。


4.应用场景不同

二层交换机适用于小型的局域网环境,如家庭网络、小型办公室网络等。在这些场景中,网络规模较小,一般不需要进行不同网络之间的通信,主要是实现同一局域网内设备之间的快速数据交换,并且通过 VLAN 来简单地划分广播域。

三层交换机主要应用于中大型企业网络、园区网络等场景。在这些网络中,往往存在多个子网,需要实现不同子网之间的通信,同时又要保证网络的高效性。三层交换机可以很好地满足这些需求,它可以在保证高性能数据转发的同时,实现 VLAN 间的路由和不同子网之间的通信。



核心交换机配置命令示例

设置交换机名称和管理 IP 地址:

system-view

sysname CoreSwitch

interface Vlanif1

ip address 192.168.1.1 255.255.255.0



1.创建 VLAN:

vlan batch 10 20 30 100  //假设创建了部门 A 的 VLAN10、部门 B 的 VLAN20、部门 C 的 VLAN30 和外网访问 VLAN100


2.配置 VLAN 接口 IP 地址(以 VLAN10 为例):

interface Vlanif10

ip address 192.168.10.1 255.255.255.0


3.配置端口加入 VLAN:

interface GigabitEthernet0/0/1

port link-type access

port default vlan 10


4.配置路由(假设下一跳地址为 192.168.1.254):

ip route-static 0.0.0.0 0.0.0.0 192.168.1.254



汇聚交换机配置命令示例

设置交换机名称:

system-view

sysname AggregationSwitch


配置 trunk 端口:

interface GigabitEthernet0/0/1

port link-type trunk

port trunk allow-pass vlan 10 20 30 100




简单的 VLAN IP 配置

system-view  

vlan 10  

quit  

interface Vlanif10  

ip address 192.168.10.1 255.255.255.0  

quit

上述命令先创建了 VLAN 10,然后进入 VLAN 10 的接口视图,并为其配置了 IP 地址 192.168.10.1,子网掩码为 255.255.255.0 。通过这种配置,连接到该 VLAN 的设备可以使用此 IP 地址作为网关来进行通信


多个 VLAN 及端口划分配置

system-view  

vlan batch 20 30  

interface GigabitEthernet0/0/1  

port link-type access  

port default vlan 20  

interface GigabitEthernet0/0/2  

port link-type access  

port default vlan 30  

interface Vlanif20  

ip address 192.168.20.1 255.255.255.0  

interface Vlanif30  

ip address 192.168.30.1 255.255.255.0

首先使用 vlan batch 命令一次性创建了 VLAN 20 和 VLAN 30 .

然后将 GigabitEthernet0/0/1 端口配置为 access 模式,并划分到 VLAN 20;将 GigabitEthernet0/0/2 端口配置为 access 模式,并划分到 VLAN 30.

最后分别为 VLAN 20 和 VLAN 30 的接口配置了相应的 IP 地址,使得连接到这两个 VLAN 的设备能够通过对应的网关进行数据转发.



基于 Trunk 端口和多个交换机的 VLAN IP 配置

假设有两台华为交换机 S1 和 S2,以下是配置步骤:

交换机 S1 的配置

system-view  

vlan batch 10 20  

interface GigabitEthernet0/0/1  

port link-type trunk  

port trunk allow-pass vlan 10 20  

interface Vlanif10  

ip address 192.168.10.1 255.255.255.0  

interface Vlanif20  

ip address 192.168.20.1 255.255.255.0


交换机 S2 的配置

system-view  

vlan batch 10 20  

interface GigabitEthernet0/0/1  

port link-type trunk  

port trunk allow-pass vlan 10 20  

interface GigabitEthernet0/0/2  

port link-type access  

port default vlan 10  

interface GigabitEthernet0/0/3  

port link-type access  

port default vlan 20  

interface Vlanif10  

ip address 192.168.10.2 255.255.255.0  

interface Vlanif20  

ip address 192.168.20.2 255.255.255.0

在两台交换机上都创建了 VLAN 10 和 VLAN 20.

交换机 S1 的 GigabitEthernet0/0/1 端口和交换机 S2 的 GigabitEthernet0/0/1 端口都配置为 trunk 模式,并允许 VLAN 10 和 VLAN 20 通过,实现了两台交换机之间相同 VLAN 的数据传输.

在交换机 S2 上,将 GigabitEthernet0/0/2 端口划分到 VLAN 10,GigabitEthernet0/0/3 端口划分到 VLAN 20,以便连接不同 VLAN 的终端设备.

最后分别为两台交换机上的 VLAN 10 和 VLAN 20 接口配置了不同的 IP 地址,作为各自 VLAN 内设备的网关,使得不同 VLAN 之间可以通过交换机的路由功能进行通信





几种让同一 VLAN 内不同 IP 段的两台主机能够通讯的方法及实际例子和配置方法

通过配置 VLANIF 接口实现

实例需求:某企业网络中,同一 VLAN 10 的主机分别属于两个网段 10.1.1.1/24 和 10.1.2.1/24,要求这两个网段的主机能够互通.

配置方法

配置 VLAN 及接口:

plaintext

system-view

sysname switch

vlan batch 10

interface gigabitethernet 1/0/1

port link-type access

port default vlan 10

quit

interface gigabitethernet 1/0/2

port link-type access

port default vlan 10

quit

配置 VLANIF 接口

plaintext

interface vlanif 10

ip address 10.1.1.1 24

ip address 10.1.2.1 24 sub

quit

配置主机网关:配置主机 1 的 IP 地址为 10.1.1.2/24,缺省网关为 10.1.1.1;配置主机 2 的 IP 地址为 10.1.2.2/24,缺省网关为 10.1.2.1 。


通过路由器物理接口实现

实例需求: 有两个网段 192.168.1.0/24 和 10.0.0.0/24 的主机处于同一 VLAN,通过路由器实现互通.

配置方法

路由器接口配置:在路由器上,为连接不同网段的物理接口配置相应网段的 IP 地址,如接口 1 配置 192.168.1.254/24,接口 2 配置 10.0.0.254/24 。

主机网关配置:192.168.1.0/24 网段的主机默认网关设置为 192.168.1.254,10.0.0.0/24 网段的主机默认网关设置为 10.0.0.254 。


通过路由器子接口实现

实例需求:同一 VLAN 下有 VLAN 10(网段 192.168.10.0/24)和 VLAN 20(网段 192.168.20.0/24)的主机需要互通.

配置方法

路由器子接口配置

plaintext

interface gigabitethernet 0/0/0.10

dot1q termination vid 10

ip address 192.168.10.254 255.255.255.0

arp broadcast enable

quit

interface gigabitethernet 0/0/0.20

dot1q termination vid 20

ip address 192.168.20.254 255.255.255.0

arp broadcast enable

quit

交换机配置:将连接主机的接口分别加入对应的 VLAN,并将与路由器相连的接口配置为 trunk 模式,允许相应的 VLAN 通过 。

主机网关配置:VLAN 10 的主机默认网关设置为 192.168.10.254,VLAN 20 的主机默认网关设置为 192.168.20.254 。


通过软路由实现

实例需求:在一个局域网中,有两个网段 192.168.1.0/24 和 10.0.0.0/24 的主机处于同一 VLAN,通过安装了 Windows 2000 Server 的计算机作为软路由来实现互通.

配置方法

软路由安装与配置:在计算机中安装 Windows 2000 Server 及两块网卡,分别为两块网卡配置 IP 地址 192.168.1.1/255.255.255.0 和 10.0.0.1/255.0.0.0 。以域用户管理员身份登录,依次单击 “开始 / 程序 / 管理工具 / 路由和远程访问”,运行 “路由和远程访问服务器安装向导”,选择 “网络路由器” 选项进行安装和配置,如选择 RIP 协议等,并为 RIP 添加两个网络接口。

主机网关配置:192.168.1.0/24 网段的主机默认网关设置为 192.168.1.1,10.0.0.0/24 网段的主机默认网关设置为 10.0.0.1 。



交换机配置教程】全B站最详细的交换机原理讲解与配置教程



使用proxypin抓包某片app(影视资源平台)接口,实现不安装app也能白嫖看电影

点击查看原文

一、背景

最近想下载一些电影趁着放假高铁路上看,但是发现以前常用的资源网站访问不了了,然后网上搜到“某片影视app”。

安装后发现软件内资源挺全、挺新,并且支持多端安装、支持在线播放、影片下载、边下边播,且资源网络速度也很高,主要还是免费的,也没啥广告,是个不错的综合影音平台。相比于现在主流的收费平台,某奇艺、某某视频,各种乱收费、广告泛滥的现象,可谓是业界良心。

但是,有网友反馈说:此软件存在“安全隐患”,曾被火绒扫出来是frp内网穿透软件。也有网友反馈:它偷跑cdn带宽,几乎拖垮自己的电脑。偷跑或者明着跑cdn我能接受,毕竟天下没有免费的午餐。但是安全隐患不容小觑。

于是,我就萌生了一个想法:能不能只看对方的资源,不安装对方的软件,把软件还当成资源网站来用?俗称白嫖 [捂脸偷笑]

二、技术验证

2.1、使用抓包工具抓取app的接口

在一台闲置的、没有个人信息的android手机上安装目标app,同时安装并配置proxypin抓包工具(android版)

根据proxypin的内部提示在手机上安装根证书,并开启https代理。

点击首页右下角“开始”按钮进入监听模式,此时在请求列表会展示出本手机所有的代理请求

点击首页右上角的“清理”按钮可以清空当前代理请求列表

然后打开目标app,将平时找资源的过程操作一遍:浏览影片列表、查看详情、播放

回到proxypin暂停监听,分析监听到请求

如果觉得手机上看请求参数费劲,也可以使用pc版本的proxypin的“手机连接”功能,将手机抓包记录同步到电脑上查看

proxypin://connect?host=192.168.31.127&port=9099 (二维码自动识别)


2.2、分析接口与页面之间的逻辑,确定核心接口


将请求响应体与页面内容进行比较、同时结合接口名称推断出几个核心接口:


查询“电影->近期热映”列表内的前n个热门资源列表

通过此接口可以查看最新上线的电影资源,一般新上的资源在正规平台上线的第2天,这里就能看到资源。

curl --request GET \

  --url 'https://api.ztcgi.com/api/dyTag/hand_data?category_id=1' \

  --header 'Accept: application/json, text/plain, */*' \

  --header 'Accept-Encoding: gzip, deflate, br, zstd' \

  --header 'Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7' \

  --header 'Connection: keep-alive' \

  --header 'Host: api.ztcgi.com' \

  --header 'Sec-Fetch-Dest: empty' \

  --header 'Sec-Fetch-Mode: cors' \

  --header 'Sec-Fetch-Site: cross-site' \

  --header 'User-Agent: Mozilla/5.0 (Linux; Android 11; MI 9 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/137.0.7151.115 Mobile Safari/537.36;webank/h5face;webank/1.0;netType:NETWORK_WIFI;appVersion:423;packageName:com.jp3.xg3' \

  --header 'X-Requested-With: com.jp3.xg3' \

  --header 'sec-ch-ua: "Android WebView";v="137", "Chromium";v="137", "Not/A)Brand";v="24"' \

  --header 'sec-ch-ua-mobile: ?1' \

  --header 'sec-ch-ua-platform: "Android"'

精简后的响应体JSON:

{

    "code": 1,

    "msg": "获取手动标签数据成功",

    "data": {

        "8": [], // 动作大片推荐

        "32": [ // 近期热映推荐

            {

                "id": 569398, // 编号

                "score": "6.1", // 评分

                "title": "神奇4侠:初露锋芒", // 名称

                "path": "/upload/video/2025/09/23/127c7f8d80dcd2f445de5ec0c74d6ebd.jpeg",

                "tvimg": "/upload/video/2025/09/23/d2c518a75f346d07c37a773de8411db9.jpeg",

                "tagimg": "/upload/video/2025/09/23/d2c518a75f346d07c37a773de8411db9.jpeg",

                "mask": "HD中英双字"

            }

        ]

    }

}

1.jpg

响应体里data.32属性对应的列表则为"近期热映"的37部电影,应该是管理员在后台手动做了“热门”标记

对应app页面为:电影->近期热映


然后可以分析JSON里的名称和评分,选择自己感兴趣的电影。

还可以进一步查看它的封面,将上述path属性值前方加上有效域名即可查看:https://static.ztcuc.com/upload/video/2025/09/23/d2c518a75f346d07c37a773de8411db9.jpeg

如果域名http://static.ztcuc.com不能用了,可使用以下接口获取新的域名地址:

curl --request GET \

  --url https://api.ztcgi.com/api/resourceDomainConfig \

  --header 'Accept: application/json, text/plain, */*' \

  --header 'Accept-Encoding: gzip, deflate, br, zstd' \

  --header 'Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7' \

  --header 'Connection: keep-alive' \

  --header 'Host: api.ztcgi.com' \

  --header 'Sec-Fetch-Dest: empty' \

  --header 'Sec-Fetch-Mode: cors' \

  --header 'Sec-Fetch-Site: cross-site' \

  --header 'User-Agent: Mozilla/5.0 (Linux; Android 11; MI 9 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/137.0.7151.115 Mobile Safari/537.36;webank/h5face;webank/1.0;netType:NETWORK_WIFI;appVersion:423;packageName:com.jp3.xg3' \

  --header 'X-Requested-With: com.jp3.xg3' \

  --header 'sec-ch-ua: "Android WebView";v="137", "Chromium";v="137", "Not/A)Brand";v="24"' \

  --header 'sec-ch-ua-mobile: ?1' \

  --header 'sec-ch-ua-platform: "Android"'

2. 然后在此页面“上划加载更多”调用的接口 -不关心技术细节可忽略不看


curl --request GET \

      --url 'https://api.ztcgi.com/api/dyTag/tpl2_data?id=32&page=1' \

      --header 'Accept: application/json, text/plain, */*' \

      --header 'Accept-Encoding: gzip, deflate, br, zstd' \

      --header 'Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7' \

      --header 'Connection: keep-alive' \

      --header 'Host: api.ztcgi.com' \

      --header 'Sec-Fetch-Dest: empty' \

      --header 'Sec-Fetch-Mode: cors' \

      --header 'Sec-Fetch-Site: cross-site' \

      --header 'User-Agent: Mozilla/5.0 (Linux; Android 11; MI 9 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/137.0.7151.115 Mobile Safari/537.36;webank/h5face;webank/1.0;netType:NETWORK_WIFI;appVersion:423;packageName:com.jp3.xg3' \

      --header 'X-Requested-With: com.jp3.xg3' \

      --header 'sec-ch-ua: "Android WebView";v="137", "Chromium";v="137", "Not/A)Brand";v="24"' \

      --header 'sec-ch-ua-mobile: ?1' \

      --header 'sec-ch-ua-platform: "Android"'

参数部分里的page=1表明是从第1页开始查询的,注意:这个页面默认进来不是直接查询此接口,而是先把上个接口的37个展示了之后,用户还想查看更多时才会调用,这里返回的资源就没有那么新。

id=32是资源分类编号,可以通过下面的接口查看分类名称

3. 获取电影分类名称 -不关心技术细节可忽略不看


curl --request GET \

  --url 'https://api.ztcgi.com/api/dyTag/list?category_id=1' \

  --header 'Accept: application/json, text/plain, */*' \

  --header 'Accept-Encoding: gzip, deflate, br, zstd' \

  --header 'Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7' \

  --header 'Connection: keep-alive' \

  --header 'Host: api.ztcgi.com' \

  --header 'Sec-Fetch-Dest: empty' \

  --header 'Sec-Fetch-Mode: cors' \

  --header 'Sec-Fetch-Site: cross-site' \

  --header 'User-Agent: Mozilla/5.0 (Linux; Android 11; MI 9 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/137.0.7151.115 Mobile Safari/537.36;webank/h5face;webank/1.0;netType:NETWORK_WIFI;appVersion:423;packageName:com.jp3.xg3' \

  --header 'X-Requested-With: com.jp3.xg3' \

  --header 'sec-ch-ua: "Android WebView";v="137", "Chromium";v="137", "Not/A)Brand";v="24"' \

  --header 'sec-ch-ua-mobile: ?1' \

  --header 'sec-ch-ua-platform: "Android"'



1.jpg

从上图响应体可知:id=32代表类别名称为“近期热映”,同时hand_value与第1个接口返回的资源列表内影片名称拼接的字符串一样,所以,如果不关心封面和评分信息,这个接口也是够用的

注意:hand_value 字段下方的dataList字段没有参考意义。

对应app界面如下:


4. 查看影片详细信息 -核心接口


curl --request GET \

  --url 'https://api.ztcgi.com/api/video/detailv2?id=569211' \

  --header 'Accept: application/json, text/plain, */*' \

  --header 'Accept-Encoding: gzip, deflate, br, zstd' \

  --header 'Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7' \

  --header 'Connection: keep-alive' \

  --header 'Host: api.ztcgi.com' \

  --header 'Sec-Fetch-Dest: empty' \

  --header 'Sec-Fetch-Mode: cors' \

  --header 'Sec-Fetch-Site: cross-site' \

  --header 'User-Agent: Mozilla/5.0 (Linux; Android 11; MI 9 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/137.0.7151.115 Mobile Safari/537.36;webank/h5face;webank/1.0;netType:NETWORK_WIFI;appVersion:423;packageName:com.jp3.xg3' \

  --header 'X-Requested-With: com.jp3.xg3' \

  --header 'sec-ch-ua: "Android WebView";v="137", "Chromium";v="137", "Not/A)Brand";v="24"' \

  --header 'sec-ch-ua-mobile: ?1' \

  --header 'sec-ch-ua-platform: "Android"'

参数id为第1个接口返回的影片id,关注哪个就获取哪个的id当成此接口的参数

响应体-精简版

    "data": {

        "score": "8.0", // 评分

        "title": "戏台", // 名称

        "description": "  民国年间,战乱频发。", // 简介

        "others_name": [ // 其他名称

            {

                "value": "The Stage"

            }

        ],

        "source_list_source": [ // 资源地址

            {

                "name": "常规线路", // 资源路线1

                "source_list": [

                    {

                        "url": "ftp://a.gbl.114s.com:20320/5392/戏台-2025_HD国语中英双字.mp4"

                    }

                zi

            },

            {

                "name": "JY线路", // 资源路线2,依次类推

                "source_list": [

                    {

                        "url": "https://hd.ijycnd.com/play/kaz2p5ma/index.m3u8"

                    }

                ]

            }

        ]

    }

}

重点关注:source_list_source就是资源地址,ftp协议为MP4格式资源,https协议的m3u8文件为串流资源目录

将ftp://a.gbl.114s.com:20320/5392/戏台-2025_HD国语中英双字.mp4 添加到迅雷尝试进行下载,提示:域名解析失败,看来资源地址已失效

将m3u8地址(https://hd.ijycnd.com/play/kaz2p5ma/index.m3u8),添加到PotPlayer(支持串流播放的视频播放软件,vlc这款软件也不错,手机上推荐使用MX播放器,还支持直接下载),可实现在线播放。

1.jpg

如果只想下载串流视频到本地生成视频格式文件,可以使用fluent-m3u8-开源m3u8资源下载器


2.3、回溯上述接口使用过程


利用接口1查询最近热门电影

也可以使用接口3查看hand_value,不用解析json来看

2. 选中感兴趣电影的id作为接口2的参数,查询到资源地址


3. 将资源地址复制到第三方播放器进行播放或下载


2.4、接口鉴权

在实际抓取的请求中有几个接口是会传token参数(用户凭证)的,但是后来发现去掉后依然可以正常访问。个人猜测平台是为了满足访客访问,而没有强制鉴权。

我已经将上述接口导入到了apiPost,验证了无token可访问

1.jpg

三、总结


通过接口之间的组合使用可以快速的浏览、播放、下载喜欢的资源,且不用担心安装软件带来的安全问题。但是上述接口并不能保证一直有效,因为每个系统都会随着业务变化而调整接口,可能还会增强鉴权、参数防篡改、防重放机制。

如果你有电视剧、综艺等其他类目的需求,可借鉴此方案,自己动手。

如果你懂开发,还可以尝试把抓到的接口贴到cursor等ai编程工具里,快速生成python版的带有gui界面的小工具,但是不建议你将工具进行分享。

如果你的个人电脑、手机只是用来纯娱乐(适用大部分人),使用官方的软件是最佳选择,pc版本无广告,android版只有首屏广告,且在抓包的过程中没有发现大流量出入。

虽然这种盗版资源网站不合法,但是它给了我们一种选择,让我们不必忍受正版平台的“无限作恶”。个人还是希望这种平台能找到一种好的商业模式转正的,各位神通广大的网友可以支支招。

感谢用到的各种开源软件,proxypin确实让我眼前一亮,将抓包配置这件事情做的足够简单。

【声明】本文所涉及的技术、思路和工具仅用于测试交流,切勿将其用于非法入侵或攻击他人系统以及盈利等目的,一切后果由操作者自行承担!!!










Top