Netwerkproblemen in Linux oplossen

Netwerkproblemen in Linux oplossen

In dit artikel leggen we uit hoe u netwerkproblemen in Linux kunt oplossen met de opdracht tcpdump.

tcpdump is een flexibele, krachtige opdrachtregelpakketanalysator; en libpcap, een draagbare C/C++-bibliotheek voor het vastleggen van netwerkverkeer. Een krachtige en veelzijdige tool met veel opties en filters, tcpdump kan in verschillende gevallen worden gebruikt. Omdat het een opdrachtregelprogramma is, is het ideaal om te draaien op externe servers of apparaten waarvoor geen GUI beschikbaar is, om gegevens te verzamelen die later kunnen worden geanalyseerd. Het kan ook op de achtergrond worden gestart of als een geplande taak met behulp van tools zoals cron.

Laten we beginnen met het installatieproces.

1. Installeer tcpdump

Als tcpdump nog niet op uw systeem is geïnstalleerd, kunt u het installeren met de volgende opdracht:

Voor op CentOS of Red Hat Enterprise Linux gebaseerd systeem:

# dnf install tcpdump -y

Voor op Ubuntu gebaseerd systeem:

# apt-get install tcpdump -y

2. Controleer de installatie

Gebruik de volgende opdracht om de installatie te verifiëren:

# which tcpdump

Uitgang:

/usr/sbin/tcpdump

Pakketten vastleggen met tcpdump

Voordat u de pakketten opvangt, controleert u de netwerkinterface met behulp van de volgende opdrachten:

# tcpdump -D

Het toont alle beschikbare netwerkinterfaces.

Laten we nu beginnen met het vastleggen van enkele pakketten met behulp van de volgende opdrachten:

# tcpdump --interface any

Tcpdump blijft pakketten vastleggen totdat het een onderbrekingssignaal ontvangt. U kunt het vastleggen onderbreken door op Ctrl+C te drukken. Gebruik de optie -c (voor telling) om het aantal vastgelegde pakketten te beperken en tcpdump te stoppen:

# tcpdump -i any -c 10

Naamomzetting uitschakelen

Netwerkproblemen oplossen, het is vaak gemakkelijker om de IP-adressen en poortnummers te gebruiken; schakel naamomzetting uit door de optie -n en poortomzetting met -nn te gebruiken:

# tcpdump -i any -c5 -nn

Zoals de bovenstaande opdracht zal vastleggen, worden nu de IP-adressen en poortnummers weergegeven.

Pakketten filteren

Een van de krachtigste functies van tcpdump is de mogelijkheid om de vastgelegde pakketten te filteren met behulp van een verscheidenheid aan parameters, zoals bron- en bestemmings-IP-adressen, poorten, protocollen, enz. Laten we eens kijken naar enkele van de meest voorkomende.

Gebruik de volgende opdrachten om alleen ICMP-pakketten vast te leggen:

# tcpdump -i any -c10 icmp

Beperk het vastleggen tot alleen pakketten die betrekking hebben op een specifieke host door het hostfilter te gebruiken:

# tcpdump -i any -c5 -nn host 192.168.0.12

Bovenstaande opdracht zal alleen pakketten van en naar host 192.168.0.12 vastleggen en weergeven.

Gebruik het poortfilter om pakketten te filteren op basis van de gewenste service of poort. Leg bijvoorbeeld pakketten met betrekking tot een webservice (HTTP) vast met behulp van deze opdracht:

# tcpdump -i any -c10 -nn port 80

Om pakketten te filteren op basis van het bron- of bestemmings-IP-adres of de hostnaam. Om bijvoorbeeld pakketten van host 192.168.0.12 vast te leggen:

# tcpdump -i any -c10 -nn src 192.168.0.12

Opnames opslaan in een bestand

Om pakketten in een bestand op te slaan in plaats van ze op het scherm weer te geven, gebruikt u de optie -w (voor schrijven):

# tcpdump -i any -c10 -nn -w webserver.pcap port 80

Met het bovenstaande commando kunnen bijvoorbeeld pakketten 's nachts in batchmodus worden vastgelegd en 's ochtends de resultaten worden geverifieerd. Het helpt ook als er te veel pakketten zijn om te analyseren, omdat realtime-opname te snel kan plaatsvinden.

Meer voorbeeldcommando's

Om de start- en eindpakketten (de SYN- en FIN-pakketten) af te drukken van elk TCP-gesprek waarbij een niet-lokale host betrokken is.

# tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'

Om de TCP-pakketten af ​​te drukken met vlaggen RST en ACK beide ingesteld. (dwz selecteer alleen de RST- en ACK-vlaggen in het vlaggenveld, en als het resultaat "RST en ACK beide zijn ingesteld", overeenkomen)

# tcpdump 'tcp[tcpflags] & (tcp-rst|tcp-ack) == (tcp-rst|tcp-ack)'

Om alle IPv4 HTTP-pakketten van en naar poort 80 af te drukken, dwz alleen pakketten afdrukken die gegevens bevatten, niet bijvoorbeeld SYN- en FIN-pakketten en ACK-pakketten. (IPv6 wordt overgelaten als een oefening voor de lezer.)

# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<2)) -="" ((tcp[12]&0xf0)="">>2)) != 0)'

Om IP-pakketten af ​​te drukken die langer zijn dan 576 bytes die via gateway snup zijn verzonden:

# tcpdump 'gateway snup and ip[2:2] > 576'

Om IP-broadcast- of multicast-pakketten af ​​te drukken die niet via Ethernet-broadcast of multicast zijn verzonden:

# tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

Om alle ICMP-pakketten af ​​te drukken die geen echo-verzoeken/-antwoorden zijn (dwz geen ping-pakketten):

# tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'

Controleer de man-pagina met het volgende commando:

# man tcpdump

In dit artikel hebben we gezien hoe u netwerkproblemen in Linux kunt oplossen met de opdracht tcpump.

Krijg een krachtige dual E5-serie dedicated server en goedkope KVM VPS.


Hoe maak je een groep aan in Linux

Hoe maak je een groep aan in Linux

Groepen worden gebruikt om gebruikers en hun privileges te organiseren, zoals het lezen van de schrijf- en uitvoeringsrechten. Om een ​​groud toe te voegen, is het commando groupadd.

3 manieren om het CPU-gebruik in Linux te controleren

3 manieren om het CPU-gebruik in Linux te controleren

Leg 3 manieren uit om het CPU-gebruik in Linux te controleren. CPU-gebruik verwijst naar het gebruik van verwerkingsbronnen of de hoeveelheid werk die door een CPU wordt verwerkt.

Hoe DenyHosts te installeren en configureren in CentOS 7

Hoe DenyHosts te installeren en configureren in CentOS 7

DenyHosts wordt veel gebruikt als alternatief voor Fail2ban. Als er te veel ongeldige SSH-inlogpogingen zijn geweest, gaat het ervan uit dat de brute-force-aanvallen of

Koppel een nieuwe schijf aan een Linux-server

Koppel een nieuwe schijf aan een Linux-server

We zullen leren hoe je een nieuwe schijf op een Linux-server kunt mounten. Voor deze demonstratie gebruiken we de CentOS 7-cloudserver. mount nu de partitie zoals hieronder getoond.

Eenvoudig te installeren Fail2ban op Ubuntu 20.04

Eenvoudig te installeren Fail2ban op Ubuntu 20.04

Leg goed uit hoe het eenvoudig is om Fail2ban op Ubuntu 20.04 te installeren. Fail2ban is geschreven in de programmeertaal Python en is gratis open source. Configuratie.

Hoe WireGuard VPN te installeren op Ubuntu 20.04

Hoe WireGuard VPN te installeren op Ubuntu 20.04

Leg goed uit hoe u WireGuard VPN installeert op Ubuntu 20.04. WireGuard is een uiterst eenvoudige, snelle en moderne VPN die gebruikmaakt van de modernste cryptografie

Hoe OpenSSL 1.1.1d in CentOS te installeren

Hoe OpenSSL 1.1.1d in CentOS te installeren

OpenSSL is een robuuste, commerciële toolkit met volledige functionaliteit voor de Transport Layer Security (TLS) & (SSL)-protocollen. Leer OpenSSL 1.1.1d installeren in CentOS

CSF installeren en configureren op CentOS 8

CSF installeren en configureren op CentOS 8

Hoe CSF op de CentOS 8-server te installeren en configureren. ConfigServer Security & Firewall is een (SPI) firewall, Login/Intrusion Detection en Security applicatie.

Configuratie van auditregel wordt niet weergegeven – Problemen oplossen?

Configuratie van auditregel wordt niet weergegeven – Problemen oplossen?

Configuratie auditregel niet weergegeven? Ontdek hoe onze ondersteuningstechnici het probleem oplossen en oplossen. Regelconfiguratiebestand /etc/audit/rules.d/audit.rules

CloudLinux Hoge belasting op server

CloudLinux Hoge belasting op server

In dit artikel zullen we leren hoe onze ondersteuningstechnici de hoge belasting van CloudLinux op de server oplossen. Zorg ervoor dat uw LVE-limieten correct zijn geconfigureerd.