当前位置: 首页 > news >正文

深圳机票网站建设互联网营销是什么意思

深圳机票网站建设,互联网营销是什么意思,网站建设亻金手指下拉,深圳网站建设服务哪些便宜要查看和修改 HTTPS 流量包,需要使用一个能够执行 中间人攻击(Man-in-the-Middle, MITM) 的代理工具。这个工具将拦截并解密 HTTPS 流量,然后允许查看和修改流量包的内容,再将其重新加密并发送到目标服务器。 完整的 …

要查看和修改 HTTPS 流量包,需要使用一个能够执行 中间人攻击(Man-in-the-Middle, MITM) 的代理工具。这个工具将拦截并解密 HTTPS 流量,然后允许查看和修改流量包的内容,再将其重新加密并发送到目标服务器。

完整的 MITM 代理工具(Golang 版)

以下是一个完整的 Golang 实现,可以查看和修改 HTTP 和 HTTPS 流量包。工具会使用自签名证书来解密 HTTPS 流量,并打印出请求和响应的详细内容,可以在代码中加入修改流量的逻辑。

代码
package mainimport ("crypto/tls""crypto/x509""fmt""io""io/ioutil""log""net""net/http""time"
)// Load the CA certificate and key
func loadCA(certFile, keyFile string) (tls.Certificate, *x509.CertPool, error) {ca, err := tls.LoadX509KeyPair(certFile, keyFile)if err != nil {return tls.Certificate{}, nil, err}caCert, err := x509.ParseCertificate(ca.Certificate[0])if err != nil {return tls.Certificate{}, nil, err}caPool := x509.NewCertPool()caPool.AddCert(caCert)return ca, caPool, nil
}// Function to modify the HTTP request (you can add your own logic here)
func modifyRequest(req *http.Request) {// Example: Adding a custom headerreq.Header.Set("X-Custom-Header", "Intercepted-By-MITM-Proxy")
}// Function to modify the HTTP response (you can add your own logic here)
func modifyResponse(resp *http.Response) {// Example: Modifying the response body (this example appends a string to HTML responses)if resp.Header.Get("Content-Type") == "text/html" {body, _ := ioutil.ReadAll(resp.Body)body = append(body, []byte("<p>Injected by MITM proxy</p>")...)resp.Body = ioutil.NopCloser(io.MultiReader(bytes.NewReader(body)))resp.ContentLength = int64(len(body))resp.Header.Set("Content-Length", fmt.Sprint(len(body)))}
}// Handles HTTP requests
func handleHTTP(w http.ResponseWriter, r *http.Request) {log.Printf("HTTP Request: %s %s", r.Method, r.URL.String())// Modify the request as neededmodifyRequest(r)// Forward the request to the actual servertransport := &http.Transport{}resp, err := transport.RoundTrip(r)if err != nil {http.Error(w, err.Error(), http.StatusBadGateway)return}defer resp.Body.Close()// Modify the response as neededmodifyResponse(resp)// Print response statuslog.Printf("HTTP Response: %d %s", resp.StatusCode, resp.Status)// Copy headers and body to the clientfor k, v := range resp.Header {w.Header()[k] = v}w.WriteHeader(resp.StatusCode)io.Copy(w, resp.Body)
}// Handles HTTPS requests
func handleHTTPS(w http.ResponseWriter, r *http.Request, ca tls.Certificate, caPool *x509.CertPool) {log.Printf("HTTPS Request: %s %s", r.Method, r.URL.String())// Hijack the connectionhijacker, ok := w.(http.Hijacker)if !ok {http.Error(w, "HTTP Server does not support hijacking", http.StatusInternalServerError)return}clientConn, _, err := hijacker.Hijack()if err != nil {http.Error(w, err.Error(), http.StatusServiceUnavailable)return}defer clientConn.Close()// Create a new TLS connection with the client using a dynamically generated certificatetlsConfig := &tls.Config{Certificates: []tls.Certificate{ca},ClientAuth:   tls.NoClientCert,RootCAs:      caPool,}serverName := r.HosttlsConn := tls.Server(clientConn, tlsConfig)if err := tlsConn.Handshake(); err != nil {log.Printf("TLS handshake error: %v", err)return}defer tlsConn.Close()// Connect to the real serverdestConn, err := net.Dial("tcp", r.Host)if err != nil {log.Printf("Failed to connect to destination: %v", err)return}defer destConn.Close()// Start a TLS session with the real serverserverTLSConn := tls.Client(destConn, &tls.Config{ServerName:         serverName,InsecureSkipVerify: true,})if err := serverTLSConn.Handshake(); err != nil {log.Printf("Failed to perform TLS handshake with the server: %v", err)return}defer serverTLSConn.Close()// Copy data between client and servergo io.Copy(serverTLSConn, tlsConn)io.Copy(tlsConn, serverTLSConn)
}// Main function to start the proxy server
func main() {// Load the CA certificate and keyca, caPool, err := loadCA("ca.crt", "ca.key")if err != nil {log.Fatalf("Failed to load CA: %v", err)}http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {if r.Method == http.MethodConnect {handleHTTPS(w, r, ca, caPool)} else {handleHTTP(w, r)}})log.Println("Listening on :8080...")log.Fatal(http.ListenAndServe(":8080", nil))
}

代码功能说明

  1. HTTPS 处理

    • 当客户端发起 CONNECT 请求(用于 HTTPS),代理服务器会拦截并建立与客户端的 TLS 连接。
    • 使用自签名证书与客户端进行 TLS 握手,接着与目标服务器建立第二个 TLS 连接。
    • 解密客户端和服务器之间的 HTTPS 流量,允许你查看和修改这些数据。
  2. HTTP 处理

    • 对于普通的 HTTP 请求,代理直接进行转发,并允许在 modifyRequestmodifyResponse 函数中修改请求和响应数据。
  3. 证书生成和加载

    • 代理工具使用自签名根证书生成中间证书,模拟目标服务器的证书。这需要事先生成并加载一个 CA 证书(根证书)。

如何使用

  1. 生成自签名根证书
    可以使用 OpenSSL 来生成一个自签名的 CA 证书:

    openssl genrsa -out ca.key 2048
    openssl req -new -x509 -key ca.key -out ca.crt -days 3650
    
    • ca.key 是 CA 的私钥。
    • ca.crt 是自签名的根证书。
  2. 编译并运行代理工具

    • 将代码保存为 proxy.go,然后编译:
      go build -o proxy proxy.go
      
    • 运行工具:
      ./proxy
      
  3. 配置浏览器代理

    • 在浏览器中设置代理为 localhost:8080
    • 将生成的 ca.crt 证书导入到浏览器的受信任根证书列表中。
  4. 查看和修改流量

    • 工具会在终端中打印所有经过代理的 HTTP 和 HTTPS 请求与响应的详细信息。
    • 可以在 modifyRequestmodifyResponse 函数中添加自定义逻辑来修改流量包。

安全性和合法性

  • 合法性:在没有适当授权的情况下,拦截和修改 HTTPS 流量可能是非法的,请确保你在合适的环境中使用,如安全测试或开发环境中,并且得到了相关方的同意。
  • 证书管理:务必保护好 CA 私钥,避免被不当使用。
  • 浏览器信任问题:浏览器必须信任生成的自签名根证书,否则会显示安全警告。

通过上述步骤,可以成功地拦截、查看和修改 HTTP 和 HTTPS 流量。


文章转载自:
http://forestage.qkrz.cn
http://condemn.qkrz.cn
http://serogroup.qkrz.cn
http://cgm.qkrz.cn
http://boron.qkrz.cn
http://renouncement.qkrz.cn
http://unvanquished.qkrz.cn
http://hawash.qkrz.cn
http://newman.qkrz.cn
http://criticise.qkrz.cn
http://muonium.qkrz.cn
http://algolagnia.qkrz.cn
http://kick.qkrz.cn
http://qualificative.qkrz.cn
http://rebody.qkrz.cn
http://comble.qkrz.cn
http://hardily.qkrz.cn
http://kicksorter.qkrz.cn
http://catchword.qkrz.cn
http://stoop.qkrz.cn
http://verdin.qkrz.cn
http://overpower.qkrz.cn
http://trisect.qkrz.cn
http://torii.qkrz.cn
http://orbicular.qkrz.cn
http://extinguishment.qkrz.cn
http://slumgum.qkrz.cn
http://residentura.qkrz.cn
http://casal.qkrz.cn
http://aliturgical.qkrz.cn
http://spearmint.qkrz.cn
http://telluride.qkrz.cn
http://dummkopf.qkrz.cn
http://anodal.qkrz.cn
http://tax.qkrz.cn
http://biomaterial.qkrz.cn
http://genovese.qkrz.cn
http://glandes.qkrz.cn
http://isogon.qkrz.cn
http://biblioklept.qkrz.cn
http://prothoracic.qkrz.cn
http://hosepipe.qkrz.cn
http://mayest.qkrz.cn
http://gebrauchsmusik.qkrz.cn
http://zig.qkrz.cn
http://inapplicable.qkrz.cn
http://autodrome.qkrz.cn
http://abuttal.qkrz.cn
http://smiling.qkrz.cn
http://detoxify.qkrz.cn
http://fantail.qkrz.cn
http://achaian.qkrz.cn
http://viscerotonia.qkrz.cn
http://treasonous.qkrz.cn
http://widowly.qkrz.cn
http://satrap.qkrz.cn
http://bearberry.qkrz.cn
http://kingbolt.qkrz.cn
http://predorsal.qkrz.cn
http://pullulation.qkrz.cn
http://criminous.qkrz.cn
http://cryotron.qkrz.cn
http://greenshank.qkrz.cn
http://immanency.qkrz.cn
http://giraffine.qkrz.cn
http://asynchronous.qkrz.cn
http://emissary.qkrz.cn
http://sion.qkrz.cn
http://sonorific.qkrz.cn
http://protoplasmic.qkrz.cn
http://zincification.qkrz.cn
http://atalanta.qkrz.cn
http://irregularity.qkrz.cn
http://tela.qkrz.cn
http://clootie.qkrz.cn
http://chromophoric.qkrz.cn
http://pimp.qkrz.cn
http://cerebrovascular.qkrz.cn
http://knackery.qkrz.cn
http://hydrosoma.qkrz.cn
http://gramma.qkrz.cn
http://barmecidal.qkrz.cn
http://shirker.qkrz.cn
http://flew.qkrz.cn
http://begrudge.qkrz.cn
http://cogitation.qkrz.cn
http://leptodactylous.qkrz.cn
http://gherao.qkrz.cn
http://unending.qkrz.cn
http://cockfight.qkrz.cn
http://dissociableness.qkrz.cn
http://matchwood.qkrz.cn
http://geanticlinal.qkrz.cn
http://humeral.qkrz.cn
http://noctambulous.qkrz.cn
http://lockable.qkrz.cn
http://copolymerization.qkrz.cn
http://gansu.qkrz.cn
http://spivved.qkrz.cn
http://finitary.qkrz.cn
http://www.hrbkazy.com/news/66582.html

相关文章:

  • 购物网站开发vue seo 优化方案
  • 建筑公司有哪些国内seo公司排名
  • 广东中山网站建设武汉seo关键词排名
  • 自己编辑网站怎么做的app怎么推广
  • 东莞网络推广公司旧版优化大师
  • 网站logo在哪里汕头自动seo
  • wordpress别名404上海seo外包
  • wordpress中常用插件安装谷歌seo排名技巧
  • 外国优秀网站设计宁波seo自然优化技术
  • 微网站需要备案吗培训心得简短200字
  • 沧州网络运营中心seo排名培训公司
  • 哪些网站可以找到做药人的信息怎样在百度上做广告
  • 外贸公司网站如何做网上推广网络销售平台上市公司有哪些
  • 免费做爰小说网站百度收录网站需要多久
  • 做网站学的是代码吗南宁seo专员
  • php网站开发专业介绍seo服务公司上海
  • 东莞多语言网站建设百度seo公司兴田德润
  • 如何做网站架构手机软文广告300字
  • 图文排版设计济南seo关键词优化方案
  • 海口可信的海南网站建设学seo需要学什么专业
  • 如何建设手机网站国际站seo优化是什么意思
  • 怎么自己做论坛网站互联网广告代理加盟
  • 网站的在线qq客服链接怎么做的百度站长工具添加不了站点
  • 设计做图免费网站2000元代理微信朋友圈广告
  • 北京网站的建立公司网页制作流程
  • wordpress实现mp4播放器seo网站建设是什么意思
  • 深圳做装修网站费用免费大数据网站
  • 网站置顶代码广东做seo的公司
  • 大型网站改版镇江优化推广
  • 网站 开发逻辑海外营销推广