0


抓包工具:Sunny网络中间件

Sunny网络中间件 和 Fiddler 类似。 是可跨平台的网络分析组件

可用于HTTP/HTTPS/WS/WSS/TCP/UDP网络分析 为二次开发量身制作
支持 获取/修改 HTTP/HTTPS/WS/WSS/TCP/TLS-TCP/UDP 发送及返回数据
支持 对 HTTP/HTTPS/WS/WSS 指定连接使用指定代理
支持 对 HTTP/HTTPS/WS/WSS/TCP/TLS-TCP 链接重定向
支持 gzip, deflate, br 解码
支持 WS/WSS/TCP/TLS-TCP/UDP 主动发送数据

package main

import("fmt""github.com/qtgolang/SunnyNet/SunnyNet""github.com/qtgolang/SunnyNet/public""time")var Sunny = SunnyNet.NewSunny()funcmain(){//绑定回调函数
    Sunny.SetGoCallback(HttpCallback, TcpCallback, WSCallback, UdpCallback)//绑定端口号并启动
    Sunny.SetPort(2023).Start()//避免程序退出
    time.Sleep(24* time.Hour)}funcHttpCallback(Conn *SunnyNet.HttpConn){if Conn.Type == public.HttpSendRequest {//发起请求//这里可以对请求数据修改if Conn.Request.Body !=nil{
            Body,_:= io.ReadAll(Conn.Request.Body)_= Conn.Request.Body.Close()//这里可以对Body修改

            Body =[]byte("Hello Sunny Request")

            Conn.Request.Body = io.NopCloser(bytes.NewBuffer(Body))//直接响应,不让其发送请求//Conn.StopRequest(200, "Hello Word")}
        fmt.Println(Conn.Request.URL.String())}elseif Conn.Type == public.HttpResponseOK {//请求完成if Conn.Response.Body !=nil{
            Body,_:= io.ReadAll(Conn.Response.Body)_= Conn.Response.Body.Close()//这里可以对Body修改

            Body =[]byte("Hello Sunny Response")

            Conn.Response.Body = io.NopCloser(bytes.NewBuffer(Body))}}elseif Conn.Type == public.HttpRequestFail {//请求错误}}funcWSCallback(Conn *SunnyNet.WsConn){//捕获到数据可以修改,修改空数据,取消发送/接收
    fmt.Println(Conn.Url)}funcTcpCallback(Conn *SunnyNet.TcpConn){//捕获到数据可以修改,修改空数据,取消发送/接收
    
    fmt.Println(Conn.Pid, Conn.LocalAddr, Conn.RemoteAddr, Conn.Type, Conn.GetBodyLen())}funcUdpCallback(Conn *SunnyNet.UDPConn){//在 Windows 捕获UDP需要加载驱动,并且设置进程名//其他情况需要设置Socket5代理,才能捕获到UDP//捕获到数据可以修改,修改空数据,取消发送/接收if public.SunnyNetUDPTypeReceive == Conn.Type {
        fmt.Println("接收UDP", Conn.LocalAddress, Conn.RemoteAddress,len(Conn.Data))}if public.SunnyNetUDPTypeSend == Conn.Type {
        fmt.Println("发送UDP", Conn.LocalAddress, Conn.RemoteAddress,len(Conn.Data))}if public.SunnyNetUDPTypeClosed == Conn.Type {
        fmt.Println("关闭UDP", Conn.LocalAddress, Conn.RemoteAddress)}}

代码:
https://gitee.com/qtr/SunnyNet
https://esunny.vip/

标签: 网络 中间件

本文转载自: https://blog.csdn.net/lilongsy/article/details/134962512
版权归原作者 小龙在山东 所有, 如有侵权,请联系我们删除。

“抓包工具:Sunny网络中间件”的评论:

还没有评论