Parastie iOS lietotnes HTTPS pieprasījumi var parādīties atkļūdošanas starpniekserverī, kamēr tās WebSocket plūsma nav redzama. Vispirms nosakiet WebSocket transportu: URLSessionWebSocketTask var izmantot sesijas līmeņa starpniekservera konfigurāciju, bet bibliotēkai, kas atver savus ligzdas, ir vajadzīga sava atbalstīta integrācija. Ja iOS 17+ izmantojat neapstrādātu Network.framework savienojumu, konfigurējiet NWConnection paša starpniekservera kontekstu.

iOS 17 vai jaunākā versijā izveidojiet sesiju ar skaidru SOCKSv5 starpniekserveri:

import Foundation
import Network

@available(iOS 17.0, *)
func makeDebugSession() -> URLSession {
    let configuration = URLSessionConfiguration.default
    let endpoint = NWEndpoint.hostPort(
        host: "192.0.2.10", port: 8889)
    configuration.proxyConfigurations = [
        ProxyConfiguration(socksv5Proxy: endpoint)
    ]
    return URLSession(configuration: configuration)
}

Aizstājiet dokumentācijas adresi un portu ar pieejamu esošā atkļūdošanas starpniekservera SOCKS klausītāju. Iespējojiet šo klausītāju starpniekservera lietotnē. Tā HTTP klausītājs var būt citā portā.

Izveidojiet webSocketTask no atgrieztās sesijas. Uzdevums, kas izveidots ar citu URLSession, nemanto šīs sesijas pārrakstīšanu. Tukšs proxyConfigurations masīvs izmanto sistēmas noklusējumus; tā nav skaidra tiešā maršruta izvēle.

Sasniedzamība un lasāmi ziņojumi ir atsevišķi posmi

Fiziskajam tālrunim ir vajadzīga adrese, kas sasniedz atkļūdošanas datoru. Šajā tālrunī 127.0.0.1 apzīmē pašu tālruni. Pārbaudiet klausītāja saskarni un starpniekservera atļauto klientu piekļuvi, ja savienojums to nekad nesasniedz.

SOCKS maršruts pārnēsā savienojumu. Lai lasītu wss saturu, papildus nepieciešama atkļūdošanas rīka TLS pārbaudes iestatīšana un atbilstoša uzticēšanās ierīcē. Sertifikātu piespraušana vai atsevišķa TLS ieviešana var kavēt šo pārbaudi pat tad, kad plūsma sasniedz klausītāju.

Pēc savienojuma izveides meklējiet WebSocket apmaiņu un ziņojumus. Redzēt tikai vienu aptaujas pieprasījumu no Socket.IO lietotnes nav pierādījums, ka tās vēlākais WebSocket transports izmantoja to pašu maršrutu. Saglabājiet šo skaidro atkļūdošanas konfigurāciju lietotnes paredzētajā izstrādes vidē.

Saistītie raksti