staging.inyokaproject.org

Bash UDP in

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

fireworker72

Anmeldungsdatum:
11. März 2017

Beiträge: 64

Hallo Jungs

Wie bekomme ich am besten laufend UDP Werte in einem Bashscript in eine Variable?

Bitte um Tipps

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

fireworker72 schrieb:

Udp Werte

Was ist das?

fireworker72

(Themenstarter)

Anmeldungsdatum:
11. März 2017

Beiträge: 64

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

fireworker72 schrieb:

Wie bekomme ich am besten laufend UDP Werte ...

Welche UDP-Werte sind für dich von Interesse?

sudo sysctl -a | grep -i udp

?

fireworker72

(Themenstarter)

Anmeldungsdatum:
11. März 2017

Beiträge: 64

Alle die Ich ich auf Port 7001 von extern her sende

fireworker72

(Themenstarter)

Anmeldungsdatum:
11. März 2017

Beiträge: 64

mit nc -lu -p 7001 sehe Ich die Daten kann Sie aber nicht weiterverarbeiten

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

fireworker72 schrieb:

Alle die Ich ich auf Port 7001 von extern her sende

Geht es dir um die Anzahl der Verbindungen?

Evtl. mit:

iptables -I INPUT 1 -i <Interface> -p udp --dport 7001
iptables -nvx -L INPUT 1 | awk {'print $1'}

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

fireworker72 schrieb:

... die Daten kann Sie aber nicht weiterverarbeiten

Welche Daten willst Du wie, weiter verarbeiten?

fireworker72

(Themenstarter)

Anmeldungsdatum:
11. März 2017

Beiträge: 64

Ich schicke von irgendeinem Rechner "Test" per udp an Port 7001 und den Wert "Test" will Ich auf der empfangenden Maschine in einer Variable zum weiterverarbeiten haben

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

fireworker72 schrieb:

mit nc -lu -p 7001 sehe Ich die Daten kann Sie aber nicht weiterverarbeiten

Warum nicht? Der Befehl läuft ja endlos und schreibt auf stdout, dann kann man eine Pipe dahinter hängen und das dann z.B. zeilenweise weiterverarbeiten (ansonsten den IFS und den Delimiter für read anders setzen):

while read line
do
   echo "$line"
done < <(nc -lu -p 7001) 

fireworker72

(Themenstarter)

Anmeldungsdatum:
11. März 2017

Beiträge: 64

Ich habs schon so probiert

1
2
3
rm knxin
mkfifo knxin
nc -lu -p 7001 > knxin &

und mit

1
2
3
4
echo Schleife
cat knxin | while read line1; do
echo "$line1"
done

probiert zum Anzeigen.....echo Schleife sehe Ich noch, und dann kommt nichts mehr (ich sende aber dauernd Werte)

wenn Ich nur

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

fireworker72 schrieb:

... Rechner "Test" per udp an Port 7001 und den Wert "Test" will Ich auf der empfangenden Maschine in einer Variable zum weiterverarbeiten haben

Muss das zwingend UDP sein, oder wäre TCP auch OK?

fireworker72

(Themenstarter)

Anmeldungsdatum:
11. März 2017

Beiträge: 64

Ja UDP....kann von der Gegenseite nur UDP senden

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

fireworker72 schrieb:

Ja UDP....kann von der Gegenseite nur UDP senden

Dann versuch mal via eine Datei, mit UDP:

Empfänger:

nc -u -l -p 7001 > out.file

Sender:

echo Testxxx > out.file
nc -u -w 3 <IP-Adresse-Empfänger> 7001 < out.file

Empfänger:

cat out.file

fireworker72

(Themenstarter)

Anmeldungsdatum:
11. März 2017

Beiträge: 64

Ich kann beim Sender nur den Wert eingeben den er sendet

Antworten |