Mac OS X Forza la condivisione del traffico Internet tramite proxy


17

Ho installato la condivisione Internet sul mio computer Mac OS 10.9.5, condividendo la mia connessione Ethernet con tutti i dispositivi collegati all'hotspot Wi-Fi creato. Sto cercando un modo per forzare tutto quel traffico attraverso un server proxy in modo da poter monitorare il traffico usando Charles.

Impostazioni proxy

Avevo ipotizzato che, poiché Charles configurava automaticamente le impostazioni proxy (sopra) sulla connessione Ethernet in uscita che tutto il traffico Wi-Fi sarebbe già stato sottoposto a proxy, ma mi sbagliavo. Sembra che Internet Sharing crei un nuovo bridge (attualmente chiamato "bridge100") che non funziona attraverso lo stesso servizio di rete anche se i pacchetti escono dalla stessa interfaccia di rete.

Riesco a vedere tutto il traffico generato dalla mia macchina in Charles, non solo il traffico proveniente da altre macchine. Esiste un modo per configurare il routing in modo che le mie impostazioni proxy per Ethernet vengano applicate anche al bridge? In caso contrario, c'è un modo per instradare il traffico del bridge allo stesso proxy?


Su Linux, un cosiddetto "proxy trasparente" può essere realizzato con iptables, in questo modo . Non ho familiarità con il firewall di OS X, ma questo è fondamentalmente ciò che dovrete replicare.
Daniel B,

Risposte:


1

Mi aspetto che questo non sarà semplice, se possibile.

Quando si dispone di un server proxy, in esecuzione sul computer stesso o su un dispositivo in rete, le app client (ad es. Qualunque cosa stia andando verso l'interno) devono indirizzare il proprio traffico al server proxy (non solo direttamente al interfaccia di rete pertinente). Questo è configurato nelle impostazioni dell'app client o a livello di sistema operativo. Tuttavia, quando si imposta un proxy a livello di sistema operativo, come mostrato nella schermata, è probabilmente impostato per la sessione utente e potrebbe non influire sui daemon (non sono sicuro).

L'hotspot è probabilmente in esecuzione a livello di demone e potrebbe non rispettare l'impostazione del proxy.

Potrebbe avere senso pensare al problema in modo diverso. Ad esempio, forse eseguire ethereal o altri sniffer di pacchetti e osservare il traffico che colpisce la porta Ethernet (che includerebbe il traffico da / verso l'hotspot basato su OSX). (Uno sniffer di pacchetti è di livello inferiore rispetto a Charles, ma potrebbe essere il prezzo per ottenere un accesso di livello inferiore al traffico.)


Per aggiungere al commento di Mr.Jones, i server proxy generalmente eseguono il proxy di protocolli specifici. Nel caso di Charles è il traffico HTTP e HTTPS. Charles (almeno secondo il sito Web) è stato creato per il debug, non per il proxy di uso generale. Probabilmente può farlo, ma il calamaro è probabilmente una scelta più solida. Inoltre, non è il TUO mac che devi configurare. Sono i tuoi clienti.
Petro,

0

Hai guardato in OpenDNS? Sostituiresti i tuoi IP DNS sul tuo router con i loro IP e poi sarai in grado di visualizzare un registro del traffico sulla tua rete. Lo faresti accedendo al tuo account su opendns.com.

Puoi anche negare il traffico a determinati domini. Esiste un'opzione di piano gratuita "Personale".


-1

Il riepilogo delle domande (forzare la condivisione del traffico tramite proxy) non corrisponde allo scopo previsto, ovvero monitorare il traffico. E lo screenshot che stai mostrando sta facendo qualcosa di completamente diverso.

Per monitorare il traffico, non è necessario impostare un proxy. Una volta che hai costretto tutti gli altri dispositivi a instradare tutto il loro traffico attraverso la tua macchina, tutto ciò che devi aggiungere al mix è WireShark (in esecuzione sul tuo bridge) e avrai accesso al traffico.

Se vuoi davvero impostare un proxy, fai in modo che tutto il traffico sia instradato attraverso di esso e abbia quel registro, quello che stai cercando si chiama un proxy forward trasparente .

Lo screenshot che condividi è quello che configureresti se volessi configurare un proxy per tutto il traffico proveniente dal tuo computer. È quello che ti sta mostrando "Charles".


1) Wireshark è uno strumento di monitoraggio passivo. Manca alcune funzionalità molto importanti che includono strumenti come Charles Proxy. 2) Charles non è in grado di monitorare il traffico su bridge100, che per alcuni casi d'uso è assolutamente necessario. Il riepilogo della domanda corrisponde perfettamente allo scopo previsto. Sei stato tu a non aver compreso il problema.
Robotsushi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.