Overvåg og log TCP-trafik med tidsstempler: Guide til tcpdump, Wireshark og Python-scripts

Hvordan kan TCP-trafik på en specifik port overvåges og logges med tidsstempel for hver indgående forbindelse, når værktøjer som netstat, nmap og tcptrack ikke understøtter tidsstempler?

For at overvåge og logge TCP-trafik på en specifik port med tidsstempler kan du bruge værktøjer som tcpdump eller Wireshark, eller skrive et Python-script med scapy-biblioteket.

Hvordan kan TCP-trafik på en specifik port overvåges og logges med tidsstempel for hver indgående forbindelse, når værktøjer som netstat, nmap og tcptrack ikke understøtter tidsstempler?

For at overvåge og logge TCP-trafik på en specifik port med tidsstempel for hver indgående forbindelse, kan du bruge værktøjer som tcpdump eller Wireshark. Disse værktøjer giver mulighed for at fange netværkstrafik og inkludere tidsstempler i logfilerne. Her er en trin-for-trin guide til, hvordan du kan gøre dette:

Brug af tcpdump

  1. Installer tcpdump, hvis det ikke allerede er installeret:
    sudo apt-get install tcpdump
  2. Kør tcpdump for at overvåge en specifik port (f.eks. port 80):
    sudo tcpdump -i any tcp port 80 -w tcpdump_output.pcap
    • -i any: Overvåger alle netværksinterfaces.
    • tcp port 80: Filtrerer trafikken til kun at inkludere TCP-trafik på port 80.
    • -w tcpdump_output.pcap: Skriver output til en fil.
  3. For at læse logfilen med tidsstempler:
    tcpdump -r tcpdump_output.pcap -tttt
    • -r: Læser fra en fil.
    • -tttt: Viser tidsstempler i et menneskeligt læsbart format.

Brug af Wireshark

  1. Installer Wireshark, hvis det ikke allerede er installeret:
    sudo apt-get install wireshark
  2. Start Wireshark og vælg det netværksinterface, du vil overvåge.
  3. Indstil en filterregel for at overvåge en specifik port (f.eks. port 80):
    tcp.port == 80
  4. Start optagelsen, og Wireshark vil begynde at logge trafikken med tidsstempler.
  5. Gem logfilen ved at vælge "File" > "Save As" og gemme den i ønsket format.

Brug af Python Script

Du kan også skrive et simpelt Python-script ved hjælp af scapy biblioteket for at overvåge og logge TCP-trafik med tidsstempler:

  1. Installer scapy:
    pip install scapy
  2. Opret et Python-script:
    
    from scapy.all import sniff
    from datetime import datetime
    
    def packet_callback(packet):
        if packet.haslayer(TCP) and packet[TCP].dport == 80:
            print(f"{datetime.now()} - {packet[IP].src}:{packet[TCP].sport} -> {packet[IP].dst}:{packet[TCP].dport}")
    
    sniff(filter="tcp port 80", prn=packet_callback, store=0)
        
  3. Kør scriptet:
    python script_name.py

Ved at følge disse trin kan du effektivt overvåge og logge TCP-trafik på en specifik port med tidsstempler, selvom værktøjer som netstat, nmap og tcptrack ikke understøtter denne funktionalitet.