Inleiding
Dit document beschrijft de methoden om het pakket te analyseren dat via Wireshark is opgenomen van Secure Web Applicatie (SWA).
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan
Gebruikte componenten
Dit document is niet beperkt tot specifieke software- en hardware-versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Achtergrondinformatie
Wanneer u contact opneemt met Cisco Technical Support, wordt u gevraagd om informatie te verstrekken over de uitgaande en inkomende netwerkactiviteit van de SWA, die kan worden bewaakt door een pakketopname uit te voeren om verkeer te verzamelen voor debugging- of verificatiedoeleinden.
Expliciete proxyimplementatie
Een expliciete proxy vereist dat clients worden geconfigureerd om hun verkeer rechtstreeks naar de proxyserver te sturen, vaak via specifieke proxyinstellingen in hun netwerkconfiguratie (PAC-bestand of DHCP-opties) of de browserinstellingen. Dit staat de volmachtsserver toe om verzoeken te beheren en te filteren alvorens hen aan de bestemming door:sturen.
Opmerking: In een expliciete plaatsing, is het bestemmingsIP adres van het pakket dat de cliëntmachine verlaat het IP van de proxyserver adres.
Hier is de netwerk logische stroom terwijl het gebruiken van de expliciete volmachtsplaatsing:
Expliciete proxy-pakketstroom
Transparante proxyimplementatie
Een transparante proxy onderschept netwerkverkeer zonder dat er configuratiewijzigingen aan de clientzijde nodig zijn. Verkeer wordt automatisch omgeleid naar de proxyserver, waardoor het kan filteren en monitoren verzoeken zonder de client expliciet bewustzijn.
Opmerking: In de transparante plaatsing, is het bestemmingsIP adres van het pakket dat de cliëntmachine verlaat het IP van de bestemmingsserver adres.
Hier is de netwerk logische stroom terwijl het gebruiken van de transparante volmachtplaatsing:
Transparent Proxy-pakketstroom
Zie Packet Flow in Secure Web applicatie begrijpen voor meer informatie over de expliciete transparante pakketstroom van SWA
Packet Captures op AsyncOS versies 7.x en hoger
Als u een pakketopname van de grafische gebruikersinterface (GUI) wilt starten, navigeert u naar het menu Help en ondersteuning rechtsboven, kiest u Packet Capture en klikt u vervolgens op Start Capture. Klik op Opname stoppen om het pakketopnameproces te stoppen.
Opmerking: Een opname die in de GUI is gestart, blijft opgeslagen tijdens sessies, zelfs na afloop van de SWA GUI-sessie of logout.
Om een pakketopname van de opdrachtlijninterface (CLI) te starten, voert u de opdracht PacketCapture > Start in. Als u het pakketopnameproces wilt stoppen, voert u de opdracht PacketCapture > Stop in en stopt de SWA de pakketopname wanneer de sessie wordt beëindigd.
Configuratiehandleidingen voor SWA-pakketvastlegging
Voor meer informatie over hoe u pakketopname in SWA kunt uitvoeren.
Packet Capture configureren op Content Security Applicatie
Handleiding SWA - Sectie Packet Capture
Packet Capture Filters op SWA
De standaardopname van SWA GUI en CLI (PacketCapture commando) gebruikt de standaardsyntaxis van het TCP-filter. Deze paragraaf geeft informatie over tcpdump-opnamefilters en geeft enkele voorbeelden.
Hier zijn enkele van de meest gebruikte filters:
- ip: Filters voor al het IP-protocolverkeer.
- tcp: Filters voor al het TCP-protocolverkeer.
- host: Filters voor een specifieke IP-adresbron of -bestemming.
Er zijn twee logische voorwaarden die vaak gebruikt worden in tcpdump:
- en: Leg pakketten alleen op als aan alle opgegeven voorwaarden is voldaan (gebruik
&&
).
- OF: Leg pakketten vast als aan ten minste één voorwaarde is voldaan (gebruik)
|
).
Opmerking: Deze logische omstandigheden zijn hoofdlettergevoelig.
Hier is een voorbeeldfilter in SWA om de pakketten door IP adres in transparante of expliciete plaatsingen te verzamelen:
Bron-IP: 192.168.1.1
Bestemmings-IP: 10.20.3.15
host 192.168.1.1 || host 10.20.3.15
Dit filter geeft het verkeer weer tussen 10.20.3.15 en SWA en het verkeer tussen SWA en 192.168.1.1.
Tip: Het is niet nodig om het SWA IP-adres in het filter toe te voegen.
Problemen oplossen
Wanneer een client probeert toegang te krijgen tot een website, kan het gehele communicatieproces worden opgesplitst in twee delen:
- De client communiceert met de SWA.
- SWA-communicatie met de doelserver.
Tip: Controleer voordat u pakketten opneemt of het IP-adres van de client ongewijzigd blijft op het pad naar SWA. IP-adreswijzigingen treden op door regels voor netwerkadresomzetting (NAT) die zijn geconfigureerd voordat het verkeer een SWA bereikt of door de aanwezigheid van een stroomafwaartse proxy tussen een SWA en de clientmachine.
Expliciete verbindingen analyseren met WirelessShark-filters
Wireshark-filters voor expliciete verbindingen
Voor de eerste fase van communicatie in pakketvastlegging: Het IP-adres van de bron zou het IP-adres van de client zijn en het IP-adres van de bestemming is de SWA IP (de inkomende interface van de SWA is doorgaans de P1-interface).
U kunt deze filters gebruiken in Wireshark:
Filter op client-IP:
ip.addr ==
Voor de tweede fase van de communicatie, zou de Bron IP het adres van de SWA IP zijn (de buiteninterface, is gewoonlijk P2 interface) en het bestemmingsIP adres is het IP van de webserver adres.
Filteren op IP-server:
ip.addr ==
In de expliciete plaatsing, verzendt de cliënt zijn verzoek aangezien HTTP met de volmacht verbindt, aan filter door HTTP verbindt:
http.request.method == "CONNECT"
Filteren op de HTTP-aanvraagmethode:
http.request.method==GET
of
http.request.uri contains ""
In het HTTPS-verzoek om te filteren op client Hello:
ssl.handshake.type==1
In het geval dat u wilt zien dat beide kanten met elkaar communiceren, de beste actie is om te gebruiken is TCP stream filter.
Tip:Als u het TCP-streamnummer wilt vinden, klikt u met de rechtermuisknop op een pakket in uw huidige filter of klikt u met de rechtermuisknop op het gewenste pakket, selecteert u Volgen, kiest u TCP-stream. U kunt het aantal van de TCP-stroom in de filterbalk zien.
Om zowel de eerste als de tweede fase TCP stream nummers te isoleren, gebruikt u het filter:
tcp.stream eq || tcp.stream eq
Vervang <first_phase_stream_number> en <second_phase_stream_number> met de juiste streamnummers.
Transparante verbindingen analyseren met WirelessShark-filters
In de transparante verzoeken met betrekking tot Web Cache Communication Protocol (WCCP) omleiding of op beleid gebaseerde routing (PBR), terwijl clientverkeer naar de SWA wordt geleid, reageert de SWA met het IP-adres van de doelserver in plaats van met zijn eigen IP-adres. Dientengevolge, in transparante verzoeken, toont het pakket het IP van de bestemmingsserver adres maar gebruikt het adres van MAC van SWA als adres van bestemmingsMAC (in verkeer tussen Cliënt aan SWA) en de pakketten die van SWA uitgaan als IP het voor de gek houden niet wordt toegelaten, is de bron IP het IP van de Cliënt adres met het adres van MAC van SWA.
Wireshark-filters voor transparante verbindingen
Zoals het geval is bij een transparant verzoek, Wireshark-filters hetzelfde als expliciete verbindingen, maar houdt een notitie bij dat SWA niet kan communiceren met de client met behulp van zijn werkelijke IP-adres en spoofed zichzelf als werkelijke doelserver.
Filter op client-IP:
ip.addr ==
Filteren op IP-server:
ip.addr ==
Voorzichtig: Als IP-spoofing in de SWA niet is ingeschakeld, is het IP-bronadres van het pakket van SWA naar de webserver het IP-adres van de client.
Filteren op de HTTP-aanvraagmethode:
http.request.method==GET
of
http.request.uri contains ""
In het HTTPS-verzoek om te filteren op client Hello:
ssl.handshake.type==1
In het geval dat u wilt zien dat beide kanten met elkaar communiceren, de beste actie is om te gebruiken is TCP stream filter.
Tip: Als u het TCP-streamnummer wilt vinden, klikt u met de rechtermuisknop op een pakket in uw huidige filter of klikt u met de rechtermuisknop op het gewenste pakket, selecteert u Volgen, kiest u TCP-stream. U kunt het TCP-stroomnummer in de filterbalk zien
Om zowel de eerste als de tweede fase TCP stream nummers te isoleren, gebruikt u het filter:
tcp.stream eq || tcp.stream eq
Vervang <first_phase_stream_number> en <second_phase_stream_number> met de juiste streamnummers.
De filters van Wireshark zijn gelijkaardig aan expliciete verbindingen.
Hoe te om te bevestigen het Verzoek van het Web van de Cliënt expliciete of Transparante Verbinding is
In de expliciete verzoeken: de client heeft toegang tot een URL terwijl ze op de hoogte is van de proxyserver, dus de client stuurt het HTTP Connect-verzoek naar het Proxy IP-adres en de Proxy-poort.
SWA by default, luistert naar TCP poort 3128 en 80 voor de proxy service. In expliciete implementatiepakket wordt opgenomen, kunt u zien dat het verkeer tussen de client en SWA is bestemd voor die proxy poortnummers.
In de transparante verzoeken: de client heeft toegang tot een URL terwijl de client zich niet bewust is van de proxy-IP en SWA communiceert niet met behulp van zijn eigen IP-adres. In plaats daarvan werd door SWA het IP-adres van de doelserver gespoofd.
In de transparante modus verschijnt verkeer alsof het tussen de client en de doelserver stroomt (bijvoorbeeld de website van Cisco), maar het MAC-adres van de doelserver is dat van de SWA. Om het SWA MAC-adres te bevestigen, gebruikt u de CLI-opdracht: etherconfig > MEDIA.
De weergave van Wireshark wijzigen
Om een beter overzicht van de pakketten in Wireshark te hebben terwijl het oplossen van problemen het web vraagt met behulp van een Proxy, is het best om de Server Name Indication (SNI) en TCP Stream ID in uw pakketweergave te hebben.
SNI-kolom toevoegen aan de weergave Wireshark
Stap 1. Open het Packet Capture-bestand met uw Wireshark.
Stap 2. Klik met de rechtermuisknop op de kolomnaam in de Wireshark.
Stap 3. Kies kolomvoorkeuren.
Stap 4. Klik op het +-teken (een nieuwe kolom toevoegen).
Stap 5. Voer een naam in voor die kolom (bijvoorbeeld SNI).
Stap 6. Kies Aangepast in het gedeelte Type.
Stap 7. Voer in het gedeelte Veld tls.handshake.extensions_server_name in.
Stap 8. Klik op OK om de wijzigingen op te slaan.
U kunt ook de volgende stappen gebruiken:
Stap 1. Breng het filter op WirelessShark aan: ssl.handshake.type==1 om de berichten van de Klant Hello in de SSL/TLS handdruk te isoleren.
Stap 2. Protocolgegevens uitvouwen: Klik op Transport Layer Security > Handshake Protocol uitvouwen: Client Hello > Uitbreiding: Servernaam > Uitbreiding voor servernaam (SNI).
Stap 3. Voeg de servernaam toe als een kolom. Klik met de rechtermuisknop op de servernaam (of de specifieke servernaam) en selecteer Toepassen als kolom.
Het toevoegen van de Kolom van het Aantal van de Stroom aan de mening Wireshark
Stap 1. Open het Packet Capture-bestand met uw Wireshark.
Stap 2. Klik met de rechtermuisknop op de kolomnaam in de Wireshark.
Stap 3. Kies kolomvoorkeuren.
Stap 4. Klik op het + teken (een nieuwe kolom toevoegen).
Stap 5. Voer een naam in voor die kolom (bijvoorbeeld Stream).
Stap 6. Kies Aangepast in het gedeelte Type.
Stap 7. Voer in het gedeelte Veld TCP.stream in.
Stap 8. Klik op OK om de wijzigingen op te slaan.
U kunt ook de volgende stappen gebruiken:
Stap 1. Zoek HTTP/TCP-pakketten: Zorg ervoor dat u pakketten bekijkt die het HTTP/TCP-protocol bevatten.
Stap 2. Selecteer of klik op het pakket en één linker onderste deelvenster transmissie Control protocol. Blader omlaag om te krijgen (stream index:nummer).
Stap 3. Klik met de rechtermuisknop op de Stream Index: nummer en gelden als kolom.
Gerelateerde informatie