Hallo.
"Kurze" Einleitung:
Ich bin heute mal zum Spaß in mein Speedport W701V (Linux gateway 2.6.13.1-ohio #1 Wed Jun 6 17:13:56 CEST 2007 mips unknown) eingedrungen.
Kein Debian System. Ich hoffe ihr könnt mir es verzeihen.
Nach etwas stöbern bin ich auf eine Ausführbare Datei Names /var/flash/calllog gestoßen. Die bei einem eingehenden Anruf mit Parameter $1 und $2 die Rufnummer und den interne Zielnummer übergibt.
Nun bin ich auf den verrückten Gedanken gekommen, ich könnte es doch an mein syslog via UDP auf meinem Debian System weiterleiten und es es über syslog-ng welches mir dann die Anrufinformation an mein Console weiterleitet (wie es schon mit meinem richtig VoIP-Telefon der Fall ist).
Ein syslogd Daemon selber hat die Anlage auch, aber er lässt sich nicht starten. Wie ich recherchiert habe gibt es dafür auch keine Lösung. Deshalb möchte ich ein UDP-Paket selber senden.
Meine Frage:
Wie kann ich mit einfachsten Mitteln ein UDP-Paket an eine IP senden?
Und welches Programme brauche ich evtl. dafür, welches (ich glaube es ist hier ein...) ARM-System laufen kann?
Die allerbesten Grüße und ein großes Danke im voraus
OT - Tel.-Anlage - UDP-Paket erzeugen und senden?
Re: OT - Tel.-Anlage - UDP-Paket erzeugen und senden?
In der bash sollte einK.I.T.T. hat geschrieben: Wie kann ich mit einfachsten Mitteln ein UDP-Paket an eine IP senden?
Und welches Programme brauche ich evtl. dafür, welches (ich glaube es ist hier ein...) ARM-System laufen kann?
Code: Alles auswählen
echo "blabla" >/dev/udp/$host/$port
Gruß
gms
Re: OT - Tel.-Anlage - UDP-Paket erzeugen und senden?
Hi.
Danke für Deine Antwort. Das kannte ich noch gar nicht. Nun muss ich aber nachfragen:
Soviel ich in Erfahrung gebracht habe ist sowas davor noch von nöten:
Die Box hat hat leider folgendes,
werde wohl nicht so leicht an /dev kommen.
Aber trotzdem mich interessiert das nun etwas auch unter richtigen Debian.
Muss dazu noch ein Kernelmodul aktiviert werden?
Denn bei
bekomme ich immer diese Fehlermeldungen
Beste Grüß, Kitt
Danke für Deine Antwort. Das kannte ich noch gar nicht. Nun muss ich aber nachfragen:
Soviel ich in Erfahrung gebracht habe ist sowas davor noch von nöten:
Code: Alles auswählen
mknod /dev/tcp c 30 36
mknod /dev/udp c 30 39
Die Box hat hat leider folgendes,
Code: Alles auswählen
/dev/root on / type squashfs (ro)
Aber trotzdem mich interessiert das nun etwas auch unter richtigen Debian.
Muss dazu noch ein Kernelmodul aktiviert werden?
Denn bei
Code: Alles auswählen
echo Hallo > /dev/tcp/localhost/12345
-bash: /dev/udp//: Is a directory
echo Hallo > /dev/udp/localhost/12345
-bash: /dev/udp/localhost/12345: Not a directory
Beste Grüß, Kitt
Re: OT - Tel.-Anlage - UDP-Paket erzeugen und senden?
hi,
mit der bash aus dem "richtigen Debian" geht's absichtlich nicht:
netcat kann auch UDP-Päckchen von der Kommandozeile senden:mit "-q 0" wartet netcat nicht auf weitere Zeilen nach blabla und
514 ist der syslog-Port. Genaugenommen gehört vor "blabla"
noch die facility und die priority, damit man alle Möglichkeiten in
syslogd.conf nutzen kann, aber ich finde die Kodierung jetzt nicht.
Damit der syslogd Meldungen von anderen Rechnern annimmt,
muss bei Debian /etc/default/syslogd angepasst werden.
Die Telefonnummer-Aufgabe könntest du auch ohne syslog lösen,
wenn du auf dem Desktop-Rechner ein netcat auf einem freien Port
lauschen lässt:
mit der bash aus dem "richtigen Debian" geht's absichtlich nicht:
aber nett wär's schon...'man bash' hat geschrieben: Bash handles several filenames specially when they are used in redirec-
tions, as described in the following table:
[...]
/dev/udp/host/port
If host is a valid hostname or Internet address, and port
is an integer port number or service name, bash attempts
to open a UDP connection to the corresponding socket.
NOTE: Bash, as packaged for Debian, does not support using the /dev/tcp
and /dev/udp files.
netcat kann auch UDP-Päckchen von der Kommandozeile senden:
Code: Alles auswählen
echo "blabla" | netcat -q 0 -u $host 514
514 ist der syslog-Port. Genaugenommen gehört vor "blabla"
noch die facility und die priority, damit man alle Möglichkeiten in
syslogd.conf nutzen kann, aber ich finde die Kodierung jetzt nicht.
Damit der syslogd Meldungen von anderen Rechnern annimmt,
muss bei Debian /etc/default/syslogd angepasst werden.
Die Telefonnummer-Aufgabe könntest du auch ohne syslog lösen,
wenn du auf dem Desktop-Rechner ein netcat auf einem freien Port
lauschen lässt:
Code: Alles auswählen
netcat -u -l -p $port
Beware of programmers who carry screwdrivers.
Re: OT - Tel.-Anlage - UDP-Paket erzeugen und senden?
danke, ich hatte das wieder völlig verschwitztcosmac hat geschrieben: mit der bash aus dem "richtigen Debian" geht's absichtlich nicht
neinK.I.T.T. hat geschrieben:Soviel ich in Erfahrung gebracht habe ist sowas davor noch von nöten:
Code: Alles auswählen
mknod /dev/tcp c 30 36 mknod /dev/udp c 30 39
Wenn dieses Bash-Feature nicht ausgeschalten wurde, wird dieses Device von der Bash nur "simuliert" und muß daher nicht angelegt werden.
Das funktioniert ähnlich wie bei den Builtin-Commands, wenn du z.B in der Bash ein "echo" aufrufst, muß "/usr/bin/echo" auch nicht exisitieren.
Wenn dieses Feature abgeschaltet wurde, dann kommt die Fehlermeldung "No such file or directory" ( bzw "Datei oder Verzeichnis nicht gefunden" ) und wenn zusätzlich eine Devicenode "/dev/udp" erzeugt wurde, kommt dieser Fehler:
"netcat" ist aber in jedem Fall eine gute AlternativeK.I.T.T. hat geschrieben:[/code]Code: Alles auswählen
-bash: /dev/udp/localhost/12345: Not a directory
Gruß
gms