Ich nutze ntopng.
Ein Ubuntu/Debian Paket finde ich irgendwie nicht dazu...hm.
Ich verwende dafür Sniffnet. Ist wie mit Rom, gibt viele Wege dorthin ....
Super Tool
Ich nutze ntopng.
Ein Ubuntu/Debian Paket finde ich irgendwie nicht dazu...hm.
Ich verwende dafür Sniffnet. Ist wie mit Rom, gibt viele Wege dorthin ....
Super Tool
Interessant, das muss ich mir mal ansehen und auf GuideOS probieren. Wie sieht denn so ein "nala" Befehl für ein Systemupdate aus?
Siehe dunkelklausner Beitrag.
Im Grunde genau wie apt nur nala aber halt in schöner und informativer
"portMaster" dürfte für Dich die erste Wahl sein --> portMaster
Eine Beschreibung findes Du:
. LinuxWelt 04/2022 S. 104
. LinuxWelt XXL 01/2025 S. 165
Ein Ubuntu/Debian Paket finde ich irgendwie nicht dazu...hm.
Evtl als Zusatz. Der benutzt den Redis-Server. Kann sein , weil wahrscheinlich Redis bald aus den Distributionen verschwinden soll. Bei mir raucht der Redis-Datenbank-Server öfters mal ab, weil irgendwelche Schlüssel nicht stimmen usw.
Der zweite Punkt. Ich starte den ntopng manuell. Der sollte erst im Autostart deaktiviert/gestopt werden. Problem , dass z.B die Netzwerkschnittstelle kein Datenfluss anzeigt. Ich starte das dann per Screen. So kann ich aus extern auf die Funktion zurück greifen.,weil der sich per Pseudoterminal(pty) beendet.
Wenn der einmal läuft, kann man über die Webseiten den Server über mehrere PCs abrufen. Soweit ist das optimal.
Ich habe mal wireshark verwendet.Problem, der muss richtig konfiguriert werden, der loggt alles und bläht sich wie ein Hefekuchen auf.
evtl hilft dir das ?
function uports() {
# Option -h für Hilfe
if [[ "$1" == "-h" ]]; then
echo -e "Info zu uports:"
echo -e ""
echo -e "Lokale Verbindungen (127.0.0.1) werden als '*' und deren Ports als '-' dargestellt."
echo -e "Zahl in Klammern hinter dem Programmnamen entspricht der Anzahl der Verbindungen."
echo -e ""
echo -e "Verbindungen werden nach Programm, Typ, IP, Port und Status gruppiert."
echo -e ""
echo -e "Folgende Status werden angezeigt:"
echo -e " - aktiv: Eine aktive Verbindung wurde erfolgreich aufgebaut."
echo -e " - bereit: Der Dienst wartet auf eingehende Verbindungen."
echo -e " - wartend: Der Dienst wartet auf das Schließen einer Verbindung."
echo -e " Beispielaufruf: 'uports -l' netstat gibt Anzahl lokaler Verbindungen mit an."
return
fi
# ANSI Escape Code für fett
bold=$(tput bold)
normal=$(tput sgr0)
# Header der Tabelle
printf "${bold}%-20s | %-5s | %-25s | %-5s | %-12s${normal}\n" "Programm" "Typ" "IP Adresse" "Port" "Status"
printf "${bold}%-20s | %-5s | %-25s | %-5s | %-12s${normal}\n" "--------------------" "-----" "-------------------------" "-----" "------------"
# Temporäre Datei für Gruppierung und Verarbeitung
tmp_file=$(mktemp)
# Lese aktive Verbindungen mit lsof und filtere relevante Zeilen
lsof -i -P -n | grep -E 'LISTEN|ESTABLISHED|CLOSE_WAIT' | while read -r line; do
program=$(echo "$line" | awk '{print $1}') # Programmname
type=$(echo "$line" | awk '{print $8}') # Typ (TCP/UDP)
ip_port=$(echo "$line" | awk '{print $9}') # IP:Port
status=$(echo "$line" | awk '{print $10}' | sed 's/[()]//g') # Status ohne Klammern
# IP und Port aufteilen
ip=$(echo "$ip_port" | sed 's/:.*//') # IP-Adresse
port=$(echo "$ip_port" | sed 's/.*://') # Portnummer
# Lokake Verbindungen markieren und Port ignorieren
if [[ "$ip" == "127.0.0.1" || "$ip" == "::1" ]]; then
ip="*"
port="-"
fi
# Übersetze Status ins Deutsche
case "$status" in
LISTEN)
status_de="bereit"
;;
ESTABLISHED)
status_de="aktiv"
;;
CLOSE_WAIT)
status_de="wartend"
;;
*)
status_de="$status"
;;
esac
# Eintrag in temporäre Datei schreiben
echo "$program|$type|$ip|$port|$status_de" >> "$tmp_file"
done
# Gruppiere Einträge nach Programm und Status, eliminiere doppelte IPs und Ports
awk -F'|' '
{
key = $1 FS $2 FS $5
ips[key][$3] = 1
ports[key][$4] = 1
counts[key]++
}
END {
for (key in counts) {
split(key, keys, FS)
program = keys[1]
type = keys[2]
status = keys[3]
ip_list = ""
port_list = ""
for (ip in ips[key]) ip_list = ip_list ip ", "
for (port in ports[key]) if (port != "-") port_list = port_list port ", "
ip_list = substr(ip_list, 1, length(ip_list) - 2) # Letztes Komma entfernen
port_list = (length(port_list) > 0) ? substr(port_list, 1, length(port_list) - 2) : "-" # Letztes Komma entfernen
printf "%-20s | %-5s | %-25s | %-5s | %-12s\n", program " (" counts[key] ")", type, ip_list, port_list, status
}
}' "$tmp_file"
# Entferne temporäre Datei
rm -f "$tmp_file"
# Erklärung der Verbindungszustände
echo -e "\n${bold}Verbindungszustände:${normal}"
echo -e " aktiv: Eine aktive Verbindung wurde erfolgreich aufgebaut."
echo -e " bereit: Der Dienst wartet auf eingehende Verbindungen."
echo -e " wartend: Der Dienst wartet auf das Schließen einer Verbindung."
# Zusätzliche externe IP-Adressen aus netstat
echo -e "\n${bold}Externe IP Adressen von aktiven Verbindungen (netstat):${normal}"
if [[ "$1" == "-l" ]]; then
netstat -ntu | awk '{print $5}' | grep '\.' | sed 's/:.*//' | sort | uniq -c | sort -n # Mit Anzahl an lokalen (127.0.0.1) Verbindung
else
netstat -ntu | awk '{print $5}' | grep '\.' | grep -vE '^(127.0.0.1)' | sed 's/:.*//' | sort | uniq -c | sort -n
fi
}
Display More
Nice aber das zeigt ja nur den IST-Stand an und nicht Realtime oder irre ich mich (nicht getestet)?
Nice aber das zeigt ja nur den IST-Stand ..
ja
Also Leute...dann muss ich mich mal outen. Ich nutze schon 10 Jahre Linux, habe aber noch nie ein Skript eingebunden. Also als Anfänger in der Frage:
Wie macht man das?
Gerade auch probiert. Selbe Fehlermeldung ...
Wohin damit? Hinter fi? Hinter der Klammer? Sorry...ich beschäftige mich in diesem Moment das erste mal mit sowas.
function uports() {
# Option -h für Hilfe
if [[ "$1" == "-h" ]]; then
echo -e "Info zu uports:"
echo -e ""
echo -e "Lokale Verbindungen (127.0.0.1) werden als '*' und deren Ports als '-' dargestellt."
echo -e "Zahl in Klammern hinter dem Programmnamen entspricht der Anzahl der Verbindungen."
echo -e ""
echo -e "Verbindungen werden nach Programm, Typ, IP, Port und Status gruppiert."
echo -e ""
echo -e "Folgende Status werden angezeigt:"
echo -e " - aktiv: Eine aktive Verbindung wurde erfolgreich aufgebaut."
echo -e " - bereit: Der Dienst wartet auf eingehende Verbindungen."
echo -e " - wartend: Der Dienst wartet auf das Schließen einer Verbindung."
echo -e " Beispielaufruf: 'uports -l' netstat gibt Anzahl lokaler Verbindungen mit an."
return
fi
# ANSI Escape Code für fett
bold=$(tput bold)
normal=$(tput sgr0)
# Header der Tabelle
printf "${bold}%-20s | %-5s | %-25s | %-5s | %-12s${normal}\n" "Programm" "Typ" "IP Adresse" "Port" "Status"
printf "${bold}%-20s | %-5s | %-25s | %-5s | %-12s${normal}\n" "--------------------" "-----" "-------------------------" "-----" "------------"
# Temporäre Datei für Gruppierung und Verarbeitung
tmp_file=$(mktemp)
# Lese aktive Verbindungen mit lsof und filtere relevante Zeilen
lsof -i -P -n | grep -E 'LISTEN|ESTABLISHED|CLOSE_WAIT' | while read -r line; do
program=$(echo "$line" | awk '{print $1}') # Programmname
type=$(echo "$line" | awk '{print $8}') # Typ (TCP/UDP)
ip_port=$(echo "$line" | awk '{print $9}') # IP:Port
status=$(echo "$line" | awk '{print $10}' | sed 's/[()]//g') # Status ohne Klammern
# IP und Port aufteilen
ip=$(echo "$ip_port" | sed 's/:.*//') # IP-Adresse
port=$(echo "$ip_port" | sed 's/.*://') # Portnummer
# Lokake Verbindungen markieren und Port ignorieren
if [[ "$ip" == "127.0.0.1" || "$ip" == "::1" ]]; then
ip="*"
port="-"
fi
# Übersetze Status ins Deutsche
case "$status" in
LISTEN)
status_de="bereit"
;;
ESTABLISHED)
status_de="aktiv"
;;
CLOSE_WAIT)
status_de="wartend"
;;
*)
status_de="$status"
;;
esac
# Eintrag in temporäre Datei schreiben
echo "$program|$type|$ip|$port|$status_de" >> "$tmp_file"
done
# Gruppiere Einträge nach Programm und Status, eliminiere doppelte IPs und Ports
awk -F'|' '
{
key = $1 FS $2 FS $5
ips[key][$3] = 1
ports[key][$4] = 1
counts[key]++
}
END {
for (key in counts) {
split(key, keys, FS)
program = keys[1]
type = keys[2]
status = keys[3]
ip_list = ""
port_list = ""
for (ip in ips[key]) ip_list = ip_list ip ", "
for (port in ports[key]) if (port != "-") port_list = port_list port ", "
ip_list = substr(ip_list, 1, length(ip_list) - 2) # Letztes Komma entfernen
port_list = (length(port_list) > 0) ? substr(port_list, 1, length(port_list) - 2) : "-" # Letztes Komma entfernen
printf "%-20s | %-5s | %-25s | %-5s | %-12s\n", program " (" counts[key] ")", type, ip_list, port_list, status
}
}' "$tmp_file"
# Entferne temporäre Datei
rm -f "$tmp_file"
# Erklärung der Verbindungszustände
echo -e "\n${bold}Verbindungszustände:${normal}"
echo -e " aktiv: Eine aktive Verbindung wurde erfolgreich aufgebaut."
echo -e " bereit: Der Dienst wartet auf eingehende Verbindungen."
echo -e " wartend: Der Dienst wartet auf das Schließen einer Verbindung."
# Zusätzliche externe IP-Adressen aus netstat
echo -e "\n${bold}Externe IP Adressen von aktiven Verbindungen (netstat):${normal}"
if [[ "$1" == "-l" ]]; then
netstat -ntu | awk '{print $5}' | grep '\.' | sed 's/:.*//' | sort | uniq -c | sort -n # Mit Anzahl an lokalen (127.0.0.1) Verbindung
else
netstat -ntu | awk '{print $5}' | grep '\.' | grep -vE '^(127.0.0.1)' | sed 's/:.*//' | sort | uniq -c | sort -n
fi
}
uports
Display More
Danke Euch beiden. Jetzt funktioniert es.
Habe ein altes Skript von 2011 von mir gefunden. Es prüft verschiedene Dinge wie MX Record von Servern.
Vielleicht mags ja jemand gebrauchen
#!/bin/bash
# Last Edit | 07.06.2011
# ===========================
echo "IP oder Hostname:"
read HOSTLIST
#HOSTLIST=( 'toad' '192.168.0.220' )
for HOST in ${HOSTLIST[@]}
do
echo '================================================'
echo 'NSLOOKUP |' $HOST
echo '================================================'
nslookup $HOST
echo '================================================'
echo 'MX RECORD (Mail Exchange) |' $HOST
echo '================================================'
nslookup -query=mx $HOST
echo '================================================'
echo 'NS RECORD (Name Server) |' $HOST
echo '================================================'
nslookup -type=ns $HOST
echo '================================================'
echo 'SOA RECORD (start of authority) |' $HOST
echo '================================================'
nslookup -type=soa $HOST
echo '================================================'
echo 'DNS RECORDS (any) |' $HOST
echo '================================================'
nslookup -type=any $HOST
done
Display More
Habe ein altes Skript von 2011 von mir gefunden. Es prüft verschiedene Dinge wie MX Record von Servern.
Vielleicht mags ja jemand gebrauchen
Bash Display More#!/bin/bash # Last Edit | 07.06.2011 # =========================== echo "IP oder Hostname:" read HOSTLIST #HOSTLIST=( 'toad' '192.168.0.220' ) for HOST in ${HOSTLIST[@]} do echo '================================================' echo 'NSLOOKUP |' $HOST echo '================================================' nslookup $HOST echo '================================================' echo 'MX RECORD (Mail Exchange) |' $HOST echo '================================================' nslookup -query=mx $HOST echo '================================================' echo 'NS RECORD (Name Server) |' $HOST echo '================================================' nslookup -type=ns $HOST echo '================================================' echo 'SOA RECORD (start of authority) |' $HOST echo '================================================' nslookup -type=soa $HOST echo '================================================' echo 'DNS RECORDS (any) |' $HOST echo '================================================' nslookup -type=any $HOST done
Werde ich mal ausprobieren...jetzt wo ich schon mal mit skripten angefangen habe.
Hier ein wirklich mehr als simpler Portscanner - benötigt zenity falls es jemand nicht installiert hat
#!/bin/bash
# Simple Portscanner
# Last Edit | 30.07.2011
# ===========================
IP=`zenity --entry --title="Portscanner" --text="IP-Address:" --entry-text="192.168.178."`
HOSTNAME=${1:-$IP}
PSTART=${2:-1}
PEND=${3:-1023}
for PORT in `seq $PSTART $PEND`; do
(echo >/dev/tcp/$HOSTNAME/$PORT) >/dev/null 2>&1 && echo "$PORT open"
done | zenity --list $PORT --width=300 --height=300 --editable \
--title "Portscanner" --text="TCP Ports for <i>$IP</i>" --column "Port"
Display More
Don’t have an account yet? Register yourself now and be a part of our community!