iOS қолданбасының қарапайым HTTPS сұраулары жөндеу проксиінде көрінуі мүмкін, ал оның WebSocket трафигі жоқ болуы мүмкін. Алдымен WebSocket тасымалын анықтаңыз: URLSessionWebSocketTask сеанс деңгейіндегі прокси конфигурациясын пайдалана алады, ал өз сокеттерін ашатын кітапханаға өзінің қолдау көрсетілген интеграциясы қажет. iOS 17+ жүйесінде шикі Network.framework қосылымы үшін NWConnection-ның өз прокси контекстін конфигурациялаңыз.

iOS 17 немесе одан жаңа нұсқада сеансты айқын SOCKSv5 проксиімен жасаңыз:

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)
}

Құжаттамадағы мекенжай мен портты бар жөндеу проксиінің қолжетімді SOCKS тыңдаушысымен ауыстырыңыз. Сол тыңдаушыны прокси қолданбасында қосыңыз. Оның HTTP тыңдаушысы басқа портта болуы мүмкін.

webSocketTask-ты қайтарылған сеанстан жасаңыз. Басқа URLSession арқылы жасалған тапсырма бұл сеанстың қайта анықтауын мұра етпейді. Бос proxyConfigurations массиві жүйелік әдепкілерді пайдаланады; бұл тікелей маршрутты айқын таңдау емес.

Қолжетімділік пен оқылатын хабарлар — бөлек кезеңдер

Физикалық телефонға жөндеу компьютеріне жететін мекенжай қажет. Сол телефонда 127.0.0.1 телефонның өзін білдіреді. Қосылым ол жерге ешқашан жетпесе, тыңдаушы интерфейсін және проксидің рұқсат етілген клиент қолжетімділігін тексеріңіз.

SOCKS маршруты қосылымды тасымалдайды. wss мазмұнын оқу қосымша жөндеу құралының TLS инспекция параметрлерін және құрылғыда тиісті сенімді қажет етеді. Сертификатты бекіту немесе бөлек TLS іске асыруы трафик тыңдаушыға жетсе де сол инспекцияға кедергі келтіруі мүмкін.

Қосылым орнатылғаннан кейін WebSocket алмасуын және хабарларды іздеңіз. Socket.IO қолданбасынан тек бір сауалнама сұрауын көру оның кейінгі WebSocket тасымалы сол маршрутты пайдаланғанының дәлелі емес. Бұл айқын жөндеу конфигурациясын қолданбаның жоспарланған әзірлеу ортасында ұстаңыз.

Қатысты мақалалар