Du trenger ikke installere noe for å få et ekte, oppdatert bilde av hva Mac-en din snakker til. Hvert verktøy i denne laboratoriet leveres med macOS. Ingen av dem krever at du stoler på en tredjepart med trafikken din, og alle seks til sammen tar omtrent ti minutter å kjøre gjennom når du kjenner kommandoene. Det de ikke vil gjøre, og dette betyr noe, er å fortelle deg hvilke av disse forbindelsene som er fine og hvilke som ikke er det - for det trenger du fortsatt kontekst, og til slutt vil vi være ærlige om hvor disse verktøyene stopper.
1. lsof — hver åpen forbindelse, akkurat nå
På Unix er en nettverkskontakt en fil, og lsof (liste åpne filer) viser dem. MacOS-man-siden beskriver -i som å velge filer hvis internettadresse samsvarer med en gitt spesifikasjon – uten noen gitt, hver internettkontakt. Legg til -n for å hoppe over å løse adresser til vertsnavn og -P for å hoppe over å løse porter til tjenestenavn; begge gjør kommandoen raskere og utgangen nøyaktig i stedet for omtrentlig.
sudo lsof -i -n -P
# example output, trimmed to a few representative lines
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Mail 612 alice 9u IPv4 0x... 0t0 TCP 192.168.1.10:54321->17.57.145.13:993 (ESTABLISHED)
Slack 980 alice 22u IPv4 0x... 0t0 TCP 192.168.1.10:54400->35.186.224.25:443 (ESTABLISHED)
mDNSResp 88 root 4u IPv4 0x... 0t0 UDP *:5353Les det fra venstre til høyre: prosessnavn og PID, den lokale adressen og porten, -> og den eksterne adressen og porten, og tilkoblingstilstanden. ESTABLISHED betyr en aktiv, toveis forbindelse akkurat nå. Kjør uten sudo vil du fortsatt se dine egne prosesser; roteide trenger det. Hva dette ikke kan fortelle deg: lsof er et øyeblikksbilde av øyeblikket du trykket på Enter. En tilkobling som åpnet, sendte noen kilobyte og lukket et halvt sekund før du kjørte kommandoen er rett og slett ikke der - du må kjøre den gjentatte ganger, eller gå til neste verktøy for å fange det.
2. nettop — samme utsikt, men live
nettop er live-versjonen av den samme ideen. Man-siden beskriver det som å vise "en liste over stikkontakter eller ruter" med periodisk oppdatert statistikk. -m route bytter den fra å liste sockets til å liste rutetabellvisningen; -m tcp eller -m udp begrenser den til én protokoll.
nettop -m route
# interactive; press q to quit, or use -l N to print N samples and exit
# example output, trimmed
time interface state bytes_in bytes_out
23:41:02.123 Mail.612 en0 Established 4.2K 1.1K
23:41:02.123 Slack.980 en0 Established 18.6K 6.4KLegg til -l 5 for å ta fem prøver og avslutte i stedet for å holde en interaktiv sesjon, nyttig hvis du vil overføre utdataene et sted. nettop fikser lsofs øyeblikksbildeproblem – du kan se en tilkobling dukke opp, overføre data og lukke – men den arver samme tak: et prosessnavn og en PID, ingenting om hvem som signerte binæren, og ikke noe minne når du lukker terminalen.
3. loggstrøm — hva systemet selv sier om nettverket
macOS fører en enhetlig, strukturert logg over hva hver prosess gjør, og log stream lar deg se den direkte, filtrert. Man-siden beskriver --predicate som filtrering av oppføringer ved hjelp av NSPredicate-stilklausuler mot subsystem, kategori, prosess og meldingsinnhold.
log stream --predicate 'eventMessage contains "network" or subsystem == "com.apple.network"' --info
# live stream; Ctrl-C to stop. Example line, trimmed:
2026-09-14 23:41:05.001 process=nesessionmanager subsystem=com.apple.network "TCP Connection ... state changed to Ready"Dette er det minst tilgjengelige av de seks verktøyene – volumet er høyt og predikatsyntaksen har en læringskurve – men det er også det eneste som viser nettverkstilstandsendringer på systemnivå og tilkoblingslivssyklushendelser etter hvert som de skjer, på vanlig (ish) engelsk, tagget av det ansvarlige undersystemet. Behandle det som noe å grep, ikke les linje for linje: pipe det gjennom grep for et prosessnavn du bryr deg om, eller et nøkkelord som "Wi-Fi" eller "VPN".
4. scutil --dns og grav - hva Mac-en din faktisk løser
Før en tilkobling skjer, er det vanligvis et DNS-oppslag. scutil --dns, ifølge sin man-side, "rapporterer gjeldende DNS-konfigurasjon": hvilke resolvere som er konfigurert, som er standard, og hvilke gjelder kun for spesifikke domener (delt DNS, vanlig på VPN-er).
scutil --dns
# example output, trimmed
DNS configuration
resolver #1
nameserver[0] : 192.168.1.1
if_index : 12 (en0)
flags : Request A records, Request AAAA records
reach : 0x00020002 (Reachable,Directly Reachable Address)dig svarer direkte på et enkelt spørsmål: hva løser dette navnet til akkurat nå. Man-siden kaller det "et fleksibelt verktøy for å spørre DNS-navneservere" verdsatt for "fleksibilitet, brukervennlighet og klarhet i utdata."
dig example.com +short
# example output
93.184.216.34Ingen av verktøyene forteller deg hvilken app som utløste oppslaget eller hva som skjedde etter — DNS gir deg bare adressen en app er i ferd med å (eller allerede har) koblet til; selve tilkoblingen er det lsof, nettop eller en brannmurlogg viser deg.
5. tcpdump — grunnsannheten, og den som trenger sudo
Alt ovenfor leses tilstand operativsystemet allerede beholder. tcpdump er annerledes: den fanger opp pakker direkte fra et grensesnitt, og det er grunnen til at dens egen dokumentasjon er direkte om kravet - "Å lese pakker fra et nettverksgrensesnitt kan kreve at du har spesielle privilegier" - i praksis sudo på macOS. Bruk -i for å velge grensesnittet, -n for å holde adressene numeriske, og et filteruttrykk som port 53 for å isolere DNS-trafikk:
sudo tcpdump -i en0 -n port 53
# example output, trimmed
23:41:10.221331 IP 192.168.1.10.54812 > 192.168.1.1.53: 41213+ A? example.com. (30)
23:41:10.244109 IP 192.168.1.1.53 > 192.168.1.10.54812: 41213 1/0/0 A 93.184.216.34 (46)Mønsteret å legge merke til: en spørring som går ut på port 53 umiddelbart etterfulgt av et svar som kommer tilbake. Hvis du kjører dig i en terminal mens tcpdump kjører i en annen, kan du se den nøyaktige spørringen og svaret som din egen kommando produseres - en god måte å faktisk tro på det man-sidene sier i stedet for å ta dem på tro.
Et gratis syvende verktøy: Activity Monitor
Det er verdt å navngi det ene grafiske alternativet i denne listen, siden ikke alt trenger en terminal. Aktivitetsmonitorens nettverksfane gir deg totaler – data sendt og mottatt per prosess, og en live-gjennomstrømningsgraf – som er det riktige første stoppet for "noe tygger gjennom båndbredden og jeg vet ikke hva." Det er også den klareste illustrasjonen av taket hvert verktøy i denne artikkelen deler: det kan fortelle deg at en hjelpeprosess flyttet to gigabyte over natten, og den har ingen kolonne for hvor de to gigabytene gikk. Volum og destinasjon er to forskjellige spørsmål, og macOS svarer på dem med to forskjellige verktøy.
Setter de ti minuttene sammen
sudo lsof -i -n -P— få gjeldende liste over åpne sockets, ett pass, tretti sekunder.nettop -m route -l 5— ta noen få live-eksempler for å fange alt som er savnet av lsofs øyeblikksbilde.scutil --dns— bekreft hvilken resolver du faktisk bruker, spesielt hvis du er på en VPN eller offentlig Wi-Fi.dig <name> +short, på noe ukjent fra trinn 1, for å se hva det for øyeblikket løser seg til.sudo tcpdump -i en0 -n port 53, i seksti sekunder, for å se DNS-trafikk i rå tilstand mens apper driver med deres virksomhet.log stream --predicatemed et nøkkelord grep, hvis noe ovenfor reiste et spørsmål de fem forrige ikke svarte.
Et bearbeidet eksempel
La oss si at trinn 1 viser en prosess kalt helperd som holder en åpen tilkobling til en adresse du ikke gjenkjenner. Ikke stopp der. Kjør dig -x <the address> for et omvendt oppslag - det vil ikke alltid løse seg til noe lesbart, men når det gjør det, forteller et vertsnavn som ads.example-cdn.net deg mer på fem sekunder enn den rå IP-en noensinne vil. Kjør nettop -m tcp -l 3 og se om den samme tilkoblingen fortsatt er åpen noen sekunder senere, og om byte faktisk beveger seg over den eller om den er inaktiv. Hvis den er inaktiv og åpner igjen med et fast intervall, er det formen av en periodisk innsjekking i stedet for en engangsoverføring - verdt å huske, ikke automatisk verdt å bekymre seg for, siden vanlige oppdateringskontrollere oppfører seg på samme måte. Sjekk deretter scutil --dns for å bekrefte at løseren som produserte den adressen helperd koblet til var den du forventet, spesielt hvis du er på andres Wi-Fi. Fem kommandoer, én prosess, og du har gått fra "Jeg kjenner ikke igjen dette" til "her er spesifikt hva jeg vet og ikke vet om det" - som er det faktiske målet med en revisjon som dette, mer enn en vurdering av godt eller dårlig.
Hva ingen av disse verktøyene vil fortelle deg
Kjør gjennom alle seks og du har fortsatt tre reelle hull. For det første, identitet utover et prosessnavn: ingenting her sjekker om binærfilen kalt "Mail" er Apples Mail eller noe som har gitt nytt navn, eller om den i det hele tatt er signert - det er et separat oppslag med codesign og spctl. For det andre, minne: når terminalvinduet lukkes, så gjør alt du har lært; det er ingen logg over "hva min Mac koblet til sist tirsdag" med mindre du bygger en selv. For det tredje, dømmekraft: ingen av disse verktøyene har en mening om hvorvidt en sammenheng er forventet. En notatapp som kobler til en adresse den aldri har brukt før, ser nøyaktig lik ut i lsof som en som kobler til den vanlige synkroniseringsserveren – å fortelle de to fra hverandre er mønstergjenkjenning du må ta med deg selv, eller et verktøy må ta med deg.
Hvor FireAI og HisnLabs kommer inn
Everything in this lab is free and built into macOS, and none of it names the process behind a connection or remembers it after the terminal closes — which is the specific, narrow gap FireAI’s per-app rules and connection history are built to close.
FireAI er HisnLabs’ eget produkt: en KI-brannmur som kjører direkte på Macen. Den viser hver tilkobling appene dine gjør, i klart språk, og lar deg bestemme hva som forlater Macen din — KI-en kjører lokalt, så trafikken din sendes aldri til oss eller noen andre. HisnLabs’ sikkerhetsforskningsteam er de som holder disse vurderingene pålitelige: de katalogiserer hvilke domener som er vanlig telemetri og hvilke som er en ekte tjeneste, sporer landet og nettverket bak en tilkobling, og trener den lokale modellen (Autopilot-funksjonen) på ekte trafikkmønstre — uten at noe av det forlater Macen din.
Du kan lese om de tekniske valgene bak, eller prøve FireAI i 17 dager, på FireAI, fra HisnLabs.
