For at liste alle de netværksforbindelser, der i øjeblikket er åbne på et Linux-system, kan man bruge kommandoen lsof (liste åbne filer). Lsof er et kraftfuldt og alsidigt værktøj, der giver detaljerede oplysninger om filer og processer, der i øjeblikket er i brug af systemet.
For specifikt at angive netværksforbindelser kan vi bruge "-i"-muligheden med lsof. Denne mulighed giver os mulighed for at filtrere outputtet og kun vise netværksrelateret information. Her er kommandoen for at opnå dette:
lsof -i
Når den udføres, vil denne kommando vise en omfattende liste over alle netværksforbindelser, der i øjeblikket er åbne på systemet. Hver forbindelse vil være repræsenteret af en separat linje, der giver detaljer såsom proces-id (PID), bruger, filbeskrivelse (FD), forbindelsestype (IPv4 eller IPv6), lokale og eksterne adresser og forbindelsens tilstand.
For eksempel kan output se sådan ud:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 123 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN) sshd 123 root 4u IPv6 12346 0t0 TCP *:22 (LISTEN) httpd 456 www 3u IPv4 65432 0t0 TCP 192.168.1.100:80->192.168.1.200:12345 (ESTABLISHED)
I dette eksempel kan vi se, at der er to sshd-processer, der lytter på port 22, en til IPv4 og en anden for IPv6. Derudover er der en httpd-proces med en etableret forbindelse mellem den lokale adresse 192.168.1.100 og fjernadressen 192.168.1.200 på port 80.
"-i"-indstillingen kan forfines yderligere for at filtrere output baseret på specifikke kriterier. For eksempel, for kun at vise TCP-forbindelser, kan vi bruge "-i tcp"-indstillingen:
lsof -i tcp
Tilsvarende, for kun at liste UDP-forbindelser, kan vi bruge "-i udp"-indstillingen:
lsof -i udp
Ydermere kan lsof kombineres med andre kommandolinjeværktøjer for at udføre mere avanceret filtrering og analyse. For eksempel kan vi sende output fra lsof til grep for at søge efter specifikke forbindelser eller bruge awk til at udtrække specifikke felter fra outputtet.
lsof-kommandoen med "-i"-indstillingen er et værdifuldt værktøj til at angive alle de netværksforbindelser, der i øjeblikket er åbne på et Linux-system. Det giver detaljerede oplysninger om hver forbindelse, så administratorer og sikkerhedsprofessionelle kan overvåge og analysere netværksaktivitet.
Andre seneste spørgsmål og svar vedr Avanceret sysadmin i Linux:
- Udover de nævnte kommandoer, hvilke andre muligheder og funktionaliteter tilbyder journalctl-kommandoen? Hvordan får du adgang til manualsiden for journalctl?
- Hvilken rolle spiller systemd-journalen i lagring af logfiler i Linux-systemer?
- Hvad er fordelene og ulemperne ved at bruge journalctl-kommandoen til at få adgang til logfiler sammenlignet med traditionelle almindelige tekstlogfiler?
- Hvad er betydningen af "-fu"-flaget i kommandoen "journalctl -fu [unit]"? Hvordan hjælper det med logovervågning i realtid?
- Hvad er formålet med kommandoen "journalctl -u [unit]" i Linux-systemadministration? Hvordan adskiller det sig fra standardkommandoen "journalctl"?
- Hvorfor er det vigtigt at køre oprydningskommandoer med sudo-rettigheder?
- Hvilken kommando kan du bruge til at begrænse oprydningen af logfiler baseret på deres størrelse ved hjælp af systemd journalctl-værktøjet?
- Hvordan kan du angive tidsmålet, når du bruger "–vacuum-time"-indstillingen med journalctl-kommandoen?
- Hvilken kommando kan du bruge til at slette logfiler, der er ældre end en bestemt tidsperiode ved hjælp af systemd journalctl-værktøjet?
- Hvordan kan du kontrollere størrelsen af systemd-journalen på et Linux-system?
Se flere spørgsmål og svar i Advanced sysadmin i Linux