Content
Dateianzeige für socat (1.3.0)
usr/share/doc/socat/socat.txt
Das Socat-Paket
Die Einleitung
Socat (Multipurpose Relay - SOcket CAT) ist ein Kommandozeilenprogramm
welches zwei bidirektionale Byte-Streams etabliert und Daten darueber
austauscht. Da die Streams aus einer grossen Anzahl verschiedener
Quell- und Zieltypen kontruiert, und eine Vielzahl von Adressoptionen
auf die Streams angewendet werden koennen, kann socat zu
unterschiedlichsten Zwecken genutzt werden.
Die Funktionen
Das Socat-Paket besteht aus folgenden Komponenten:
* Multipurpose Relay - SOcket CAT - Programmdateien.
([1]http://www.dest-unreach.org/socat/)
Die Voraussetzungen
Dieses Paket benoetigt keine weiteren Pakete um funktionieren zu
koennen.
Die Installation
Das Socat-Paket wird ueber das Setup-Menue installiert. Wird eine
aeltere Paketversion vorgefunden, so wird diese deinstalliert bevor die
neuen Programmdateien installiert werden.
Das Menue im Setup-Programm
Das Menue im Setup-Programm ist wie folgt aufgebaut:
* View documentation: Anzeigen der Dokumentation
* Edit configuration: Bearbeiten der Konfiguration
* Advanced configuration file handling: Konfigurationen verwalten
* Show status: Status der socat-Befehle anzeigen
* Stop service: socat-Befehle stoppen
* Start service: socat-Befehle starten
* Return: Untermenue verlassen
Die Menuepunkte duerften selbsterklaerend sein, da sie keinerlei
weitere Eingaben erwarten. Aus diesem Grund wird auf deren Funktion
nicht weiter eingegangen.
Die Aenderung der Konfiguration
Die Konfiguration kann ueber den Menuepunkt 'Edit configuration'
geaendert werden. Standardmaessig wird der Editor aufgerufen, der in
der Environment-Konfiguration ueber die Variable 'EDITOR' festgelegt
wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die
Konfiguration aktiviert werden soll. Wird dies bestaetigt, werden ueber
ein Skript die Anpassungen umgehend wirksam gemacht.
Die Konfigurationsdatei
In der Konfigurationsdatei, die ueber das Menue zugaenglich ist, sind
folgende Parameter vorhanden; wer sie von Hand editieren will findet
sie unter /etc/config.d/socat.
Die Parameter
START_SOCAT
Um das Socat-Paket zu aktivieren muss dieser Parameter auf den
Wert `yes' gesetzt werden. Um das Nut-Paket zu deaktivieren muss
der Wert auf `no' gesetzt werde.
Gueltige Werte: yes, no
Standardeinstellung: START_SOCAT='no'
SOCAT_EXEC_N
Ueber diesen Parameter wird die Anzahl der aufzufuehrenden
socat-Befehle angegeben.
Gueltige Werte: Zahl
Standardeinstellung: SOCAT_EXEC_N='0'
SOCAT_EXEC_x_ACTIVE
Wird dieser Parameter auf den Wert `yes' gesetzt, so wird der
Datensatz aktiviert, der Wert `no' deaktiviert ihn.
Gueltige Werte: yes, no
Standardeinstellung: SOCAT_EXEC_1_ACTIVE='no'
SOCAT_EXEC_x_COMMENT
Dies ist ein Kommentarfeld, welches einzig der Beschreibung des
aufzufuehrenden socat-Befehls dient.
Gueltige Werte: beliebiger Text
Beispiel: SOCAT_EXEC_1_COMMENT='My first socat command'
SOCAT_EXEC_x_OPTIONS
Ueber diesen Parameter werden die socat-Optionen angegeben, die
beim Befehlsaufruf uebergeben werden sollen. Eine Syntaxpruefung
etc. findet nicht statt, sodass man dies vorab selbst pruefen
muss.
Gueltige Werte: gueltige socat-Befehlsoptionen
Beispiel:
SOCAT_EXEC_1_OPTIONS='pty,link=/dev/netcom0,group=nogroup,mode=0
660 tcp:192.168.6.254:100'
Verschiedenes
socat-Befehlsoptionen
Folgende Befehlsoptionen stehen in der socat-Version 2.0.0-b7
zur Verfuegung:
socat by Gerhard Rieger - see www.dest-unreach.org
Usage:
socat [options]
options:
-V print version and feature information to stdout, and exit
-h|-? print a help text describing command line options and
addresses
-hh like -h, plus a list of all common address option names
-hhh like -hh, plus a list of all available address option
names
-d increase verbosity (use up to 4 times; 2 are recommended)
-D analyze file descriptors before loop
-ly[facility] log to syslog, using facility (default is daemon)
-lf log to file
-ls log to stderr (default if no other log)
-lm[facility] mixed log mode (stderr during initialization,
then syslog)
-lp set the program name used for logging
-lu use microseconds for logging timestamps
-lh add hostname to log messages
-v verbose data traffic, text
-x verbose data traffic, hexadecimal
-b set data buffer size (8192)
-s sloppy (continue on error)
-t wait seconds before closing second channel
-T total inactivity timeout in seconds
-u unidirectional mode (left to right)
-U unidirectional mode (right to left)
-g do not check option groups
-L try to obtain lock, or fail
-W try to obtain lock, or wait
-4 prefer IPv4 if version is not explicitly specified
-6 prefer IPv6 if version is not explicitly specified
bi-address:
pipe[,] groups=FD,FIFO
%
single-address:
[,]
address-head:
abstract-client: rwb groups=FD,SOCKET,
RETRY,UNIX
abstract-connect: rwb groups=FD,SOCKET,
RETRY,UNIX
abstract-listen: rwb groups=FD,SOCKET,
LISTEN,CHILD,RETRY,
UNIX
abstract-recv: r groups=FD,SOCKET,
RETRY,UNIX
abstract-recvfrom: r b groups=FD,SOCKET,
CHILD,RETRY,UNIX
abstract-sendto: wb groups=FD,SOCKET,
RETRY,UNIX
create: rwb groups=FD,REG,NAMED
exec: rwb groups=FD,FIFO,
SOCKET,EXEC,FORK,
TERMIOS,PTY,PARENT,
UNIX
exec: r w groups=FD,FIFO,
SOCKET,EXEC,FORK,
TERMIOS,PTY,PARENT,
UNIX
exec: w r groups=FD,FIFO,
SOCKET,EXEC,FORK,
TERMIOS,PTY,PARENT,
UNIX
exec: b b groups=FD,FIFO,
SOCKET,EXEC,FORK,
TERMIOS,PTY,PARENT,
UNIX
exec1: w r groups=FD,FIFO,
SOCKET,EXEC,FORK,
TERMIOS,PTY,PARENT,
UNIX
fd: rwb groups=FD,FIFO,BLK,
REG,SOCKET,TERMIOS,
UNIX,IP4,IP6,UDP,
TCP,SCTP
fd:: b groups=FD,FIFO,BLK,
REG,SOCKET,TERMIOS,
UNIX,IP4,IP6,UDP,
TCP,SCTP
gopen: rwb groups=FD,FIFO,BLK,
REG,SOCKET,NAMED,
OPEN,TERMIOS,UNIX
interface: rwb groups=FD,SOCKET
ip-datagram:: rwb groups=FD,SOCKET,
RANGE,IP4,IP6
ip-recv: r groups=FD,SOCKET,
RANGE,IP4,IP6
ip-recvfrom: r b groups=FD,SOCKET,
CHILD,RANGE,IP4,IP6
ip-sendto:: wb groups=FD,SOCKET,
IP4,IP6
ip4-datagram:: rwb groups=FD,SOCKET,
RANGE,IP4
ip4-recv: r groups=FD,SOCKET,
RANGE,IP4
ip4-recvfrom: r b groups=FD,SOCKET,
CHILD,RANGE,IP4
ip4-sendto:: wb groups=FD,SOCKET,
IP4
ip6-datagram:: rwb groups=FD,SOCKET,
RANGE,IP6
ip6-recv: r groups=FD,SOCKET,
RANGE,IP6
ip6-recvfrom: r b groups=FD,SOCKET,
CHILD,RANGE,IP6
ip6-sendto:: wb groups=FD,SOCKET,
IP6
nop r w groups=
nop w r groups=
nop b b groups=
open: rwb groups=FD,FIFO,BLK,
REG,NAMED,OPEN,
TERMIOS
openssl-client rwb b groups=CHILD,RETRY,
OPENSSL
openssl-client:: rwb groups=FD,SOCKET,
CHILD,RETRY,IP4,IP6,
TCP,OPENSSL
openssl-server rwb b groups=CHILD,RETRY,
OPENSSL
openssl-server: rwb groups=FD,SOCKET,
LISTEN,CHILD,RETRY,
RANGE,IP4,IP6,TCP,
OPENSSL
pipe b groups=FD,FIFO,
NAMED,OPEN
pipe: rwb groups=FD,FIFO,
NAMED,OPEN
proxy:: rwb b groups=CHILD,RETRY,
HTTP
proxy::: rwb groups=FD,SOCKET,
CHILD,RETRY,IP4,IP6,
TCP,HTTP
pty rwb groups=FD,NAMED,
TERMIOS,PTY
pty: rwb groups=FD,NAMED,
TERMIOS,PTY
sctp-connect:: rwb groups=FD,SOCKET,
CHILD,RETRY,IP4,IP6,
SCTP
sctp-listen: rwb groups=FD,SOCKET,
LISTEN,CHILD,RETRY,
RANGE,IP4,IP6,SCTP
sctp4-connect:: rwb groups=FD,SOCKET,
CHILD,RETRY,IP4,SCTP
sctp4-listen: rwb groups=FD,SOCKET,
LISTEN,CHILD,RETRY,
RANGE,IP4,SCTP
sctp6-connect:: rwb groups=FD,SOCKET,
CHILD,RETRY,IP6,SCTP
sctp6-listen: rwb groups=FD,SOCKET,
LISTEN,CHILD,RETRY,
RANGE,IP6,SCTP
socket-connect::: rwb
groups=FD,SOCKET,
CHILD,RETRY
socket-datagram:::: rwb
groups=FD,SOCKET,
RANGE
socket-listen::: rwb
groups=FD,SOCKET,
LISTEN,CHILD,RETRY,
RANGE
socket-recv:::: r
groups=FD,SOCKET,
RANGE
socket-recvfrom:::: rwb
groups=FD,SOCKET,
CHILD,RANGE
socket-sendto:::: rwb
groups=FD,SOCKET
socks4:: rwb b groups=CHILD,RETRY,
SOCKS4
socks4::: rwb groups=FD,SOCKET,
CHILD,RETRY,IP4,IP6,
TCP,SOCKS4
socks4a:: rwb b groups=CHILD,RETRY,
SOCKS4
socks4a:::rwb groups=FD,SOCKET,
CHILD,RETRY,IP4,IP6,
TCP,SOCKS4
socks5:: rwb b groups=SOCKS5
stderr w groups=FD,FIFO,BLK,
REG,SOCKET,TERMIOS,
UNIX,IP4,IP6,UDP,
TCP,SCTP
stdin r groups=FD,FIFO,BLK,
REG,SOCKET,TERMIOS,
UNIX,IP4,IP6,UDP,
TCP,SCTP
stdio rwb groups=FD,FIFO,BLK,
REG,SOCKET,TERMIOS,
UNIX,IP4,IP6,UDP,
TCP,SCTP
stdout w groups=FD,FIFO,BLK,
REG,SOCKET,TERMIOS,
UNIX,IP4,IP6,UDP,
TCP,SCTP
system: rwb groups=FD,FIFO,
SOCKET,EXEC,FORK,
TERMIOS,PTY,PARENT,
UNIX
system: b b groups=FD,FIFO,
SOCKET,EXEC,FORK,
TERMIOS,PTY,PARENT,
UNIX
system: r w groups=FD,FIFO,
SOCKET,EXEC,FORK,
TERMIOS,PTY,PARENT,
UNIX
system: w r groups=FD,FIFO,
SOCKET,EXEC,FORK,
TERMIOS,PTY,PARENT,
UNIX
system1: w r groups=FD,FIFO,
SOCKET,EXEC,FORK,
TERMIOS,PTY,PARENT,
UNIX
tcp-connect:: rwb groups=FD,SOCKET,
CHILD,RETRY,IP4,IP6,
TCP
tcp-listen: rwb groups=FD,SOCKET,
LISTEN,CHILD,RETRY,
RANGE,IP4,IP6,TCP
tcp4-connect:: rwb groups=FD,SOCKET,
CHILD,RETRY,IP4,TCP
tcp4-listen: rwb groups=FD,SOCKET,
LISTEN,CHILD,RETRY,
RANGE,IP4,TCP
tcp6-connect:: rwb groups=FD,SOCKET,
CHILD,RETRY,IP6,TCP
tcp6-listen: rwb groups=FD,SOCKET,
LISTEN,CHILD,RETRY,
RANGE,IP6,TCP
test r w groups=
test w r groups=
test b b groups=
testrev w r groups=
testuni w r groups=
tun:/ rwb groups=FD,NAMED,
OPEN,INTERFACE
udp-connect:: rwb groups=FD,SOCKET,
IP4,IP6,UDP
udp-datagram:: rwb groups=FD,SOCKET,
RANGE,IP4,IP6,UDP
udp-listen: rw groups=FD,SOCKET,
LISTEN,CHILD,RANGE,
IP4,IP6,UDP
udp-recv: r groups=FD,SOCKET,
RANGE,IP4,IP6,UDP
udp-recvfrom: r b groups=FD,SOCKET,
CHILD,RANGE,IP4,IP6,
UDP
udp-sendto:: wb groups=FD,SOCKET,
IP4,IP6,UDP
udp4-connect:: rwb groups=FD,SOCKET,
IP4,UDP
udp4-datagram:: rwb groups=FD,SOCKET,
IP4,UDP
udp4-listen: r b groups=FD,SOCKET,
LISTEN,CHILD,RANGE,
IP4,UDP
udp4-recv: r groups=FD,SOCKET,
RANGE,IP4,UDP
udp4-recvfrom:: r b groups=FD,SOCKET,
CHILD,RANGE,IP4,UDP
udp4-sendto:: wb groups=FD,SOCKET,
IP4,UDP
udp6-connect:: rwb groups=FD,SOCKET,
IP6,UDP
udp6-datagram:: rwb groups=FD,SOCKET,
IP6,UDP
udp6-listen: r b groups=FD,SOCKET,
LISTEN,CHILD,RANGE,
IP6,UDP
udp6-recv: r groups=FD,SOCKET,
RANGE,IP6,UDP
udp6-recvfrom: r b groups=FD,SOCKET,
CHILD,RANGE,IP6,UDP
udp6-sendto:: wb groups=FD,SOCKET,
IP6,UDP
unix-client: rwb groups=FD,SOCKET,
NAMED,RETRY,UNIX
unix-connect: rwb groups=FD,SOCKET,
NAMED,RETRY,UNIX
unix-listen: rwb groups=FD,SOCKET,
NAMED,LISTEN,CHILD,
RETRY,UNIX
unix-recv: r groups=FD,SOCKET,
NAMED,RETRY,UNIX
unix-recvfrom: r b groups=FD,SOCKET,
NAMED,CHILD,RETRY,
UNIX
unix-sendto: wb groups=FD,SOCKET,
NAMED,RETRY,UNIX
__________________________________________________________________
Juergen Edner 2014-04-27