AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

filan - En ligne dans le Cloud

Exécutez filan dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit du filan de commande qui peut être exécuté dans le fournisseur d'hébergement gratuit OnWorks à l'aide de l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS.

PROGRAMME:

Nom


socat - Relais polyvalent (Socket CAT)

SYNOPSIS


socat [options]
socat -V
socat -h[h[h]] | -?[?[?]]
et ainsi de suite
procan

DESCRIPTION


Socat est un utilitaire basé sur la ligne de commande qui établit deux flux d'octets bidirectionnels et
transfère des données entre eux. Étant donné que les cours d'eau peuvent être construits à partir d'un vaste ensemble de
différents types de puits et de sources de données (voir types d'adresses), et parce que beaucoup d'adresses
peuvent être appliquées aux flux, socat peut être utilisé à de nombreuses fins différentes.

Filan est un utilitaire qui imprime des informations sur ses descripteurs de fichiers actifs sur stdout. Ce
a été écrit pour le débogage socat, mais peut également être utile à d'autres fins. Utilisez le
-h option pour trouver plus d'informations.

Procan est un utilitaire qui imprime des informations sur les paramètres de processus sur stdout. Il a
été écrit pour mieux comprendre certaines propriétés du processus UNIX et pour le débogage socat,
mais pourrait être utile à d'autres fins aussi.

Le cycle de vie d'un socat instance se compose généralement de quatre phases.

Dans le init phase, les options de la ligne de commande sont analysées et la journalisation est initialisée.

Pendant ouvert phase, socat ouvre la première adresse et ensuite la deuxième adresse.
Ces étapes sont généralement bloquantes ; ainsi, en particulier pour les types d'adresses complexes comme les chaussettes,
les demandes de connexion ou les boîtes de dialogue d'authentification doivent être terminées avant que l'étape suivante ne soit
commencé.

Dans le transférer phase, socat surveille les descripteurs de fichiers de lecture et d'écriture des deux flux via
select() , et, lorsque les données sont disponibles d'un côté ainsi que peut être écrit de l'autre côté,
socat le lit, effectue des conversions de caractères de nouvelle ligne si nécessaire et écrit les données dans
le descripteur de fichier d'écriture de l'autre flux, puis continue d'attendre plus de données dans
les deux directions.

Lorsqu'un des flux atteint effectivement EOF, le fermeture phase commence. Socat transferts
la condition EOF à l'autre flux, c'est-à-dire essaie d'arrêter uniquement son flux d'écriture,
lui donnant une chance de se terminer gracieusement. Pour un temps défini socat continue de transférer
données dans l'autre sens, mais ferme ensuite tous les canaux restants et se termine.

OPTIONS


Socat fournit des options de ligne de commande qui modifient le comportement du programme. Ils
n'ont rien à voir avec les soi-disant options d'adresse qui sont utilisées comme parties d'adresse
cahier des charges.

-V Imprimez la version et les informations sur les fonctionnalités disponibles sur stdout et quittez.

-h | -?
Imprimer un texte d'aide sur stdout décrivant les options de la ligne de commande et l'adresse disponible
types, et sortie.

-hh | - ??
Comme -h, plus une liste des noms courts de toutes les options d'adresse disponibles. Certains
les options dépendent de la plate-forme, donc cette sortie est utile pour vérifier le
mise en œuvre particulière.

-hhh | - ???
Comme -hh, plus une liste de tous les noms d'options d'adresse disponibles.

-d Sans cette option, seuls les messages fatals et d'erreur sont générés ; appliquer ceci
L'option imprime également des messages d'avertissement. Voir DIAGNOSTICS pour plus d'informations.

-d -d Imprime les messages fatals, d'erreur, d'avertissement et de notification.

-d -d -d
Imprime les messages fatals, d'erreur, d'avertissement, de notification et d'information.

-d -d -d -d
Imprime les messages fatals, d'erreur, d'avertissement, de notification, d'information et de débogage.

-D Enregistre les informations sur les descripteurs de fichiers avant de démarrer la phase de transfert.

-ly[ ]
Écrit des messages dans syslog au lieu de stderr ; gravité telle que définie avec l'option -d.
Avec en option , le type syslog peut être sélectionné, la valeur par défaut est "daemon".
Les bibliothèques tierces peuvent ne pas obéir à cette option.

-lf
Écrit des messages à [nom de fichier] au lieu de stderr. Certains tiers
les bibliothèques, en particulier libwrap, peuvent ne pas obéir à cette option.

-ls Écrit des messages sur stderr (c'est la valeur par défaut). Certaines bibliothèques tierces peuvent
pas obéir à cette option, en particulier libwrap semble uniquement se connecter à syslog.

-lp
Remplace le nom du programme imprimé dans les messages d'erreur et utilisé pour la construction
noms de variables d'environnement.

-lu Étend l'horodatage des messages d'erreur à une résolution de la microseconde. Ne marche pas
lors de la connexion à syslog.

-lm[ ]
Mode journal mixte. Au démarrage, les messages sont imprimés sur stderr ; lorsque socat départs
la phase de transfert en boucle ou en mode démon (c'est-à-dire après l'ouverture de tous les flux et avant
démarrage du transfert de données, ou, avec les sockets d'écoute avec option fork, avant le
accepter d'abord l'appel), il bascule la journalisation vers syslog. Avec en option , les
Le type syslog peut être sélectionné, la valeur par défaut est "daemon".

-lh Ajoute le nom d'hôte aux messages de journal. Utilise la valeur de la variable d'environnement HOSTNAME ou
la valeur récupérée avec uname() si HOSTNAME n'est pas défini.

-v Écrit les données transférées non seulement dans leurs flux cibles, mais également dans stderr.
Le format de sortie est du texte avec quelques conversions pour la lisibilité, et préfixé par
"> " ou "< " indiquant les directions d'écoulement.

-x Écrit les données transférées non seulement dans leurs flux cibles, mais également dans stderr.
Le format de sortie est hexadécimal, préfixé par "> " ou "< " indiquant le flux
directions. Peut être combiné avec -v .

-b
Définit le bloc de transfert de données [taille_t]. Au plus les octets sont transférés
par étape. La valeur par défaut est 8192 octets.

-s Par défaut, socat se termine lorsqu'une erreur s'est produite pour empêcher le processus de
en cours d'exécution lorsqu'une option n'a pas pu être appliquée. Avec cette option, socat est bâclé
avec des erreurs et essaie de continuer. Même avec cette option, socat se fermera le
fatals et annulera les tentatives de connexion en cas d'échec des contrôles de sécurité.

-t
Lorsqu'un canal a atteint EOF, la partie écriture de l'autre canal est fermée.
Puis, socat attend [timeval] secondes avant de terminer. La valeur par défaut est 0.5
secondes. Ce délai d'attente s'applique uniquement aux adresses où les parties d'écriture et de lecture peuvent être
fermé indépendamment. Lorsque pendant l'intervalle de temporisation, la partie lue donne EOF,
socat se termine sans attendre le délai d'attente.

-T
Délai d'inactivité total : lorsque socat est déjà dans la boucle de transfert et rien
est arrivé pour [timeval] secondes (aucune donnée n'est arrivée, aucune interruption
s'est produit...) puis il se termine. Utile avec des protocoles comme UDP qui ne peuvent pas
transfert EOF.

-u Utilise le mode unidirectionnel. La première adresse n'est utilisée que pour la lecture, et la
la deuxième adresse n'est utilisée que pour l'écriture (exemple).

-U Utilise le mode unidirectionnel en sens inverse. La première adresse n'est utilisée que pour
l'écriture, et la deuxième adresse n'est utilisée que pour la lecture.

-g Lors de l'analyse des options d'adresse, ne vérifiez pas si l'option est considérée comme utile dans
l'environnement d'adresse donné. Utilisez-le si vous voulez forcer, par exemple, l'appareil d'un
option socket à un périphérique série.

-L
Si le fichier de verrouillage existe, se termine avec une erreur. Si le fichier de verrouillage n'existe pas, le crée et
continue, dissocie le fichier de verrouillage en quittant.

-W
Si le fichier de verrouillage existe, attend qu'il disparaisse. Lorsque le fichier de verrouillage n'existe pas,
le crée et continue, dissocie le fichier de verrouillage en quittant.

-4 Utilisez IP version 4 au cas où les adresses ne spécifient pas implicitement ou explicitement
une version ; c'est la valeur par défaut.

-6 Utilisez IP version 6 au cas où les adresses ne spécifient pas implicitement ou explicitement
une version.

ADRESSE DONNÉES TECHNIQUES


Avec les arguments de ligne de commande d'adresse, l'utilisateur donne socat instructions et le
informations nécessaires à l'établissement des flux d'octets.

Une spécification d'adresse se compose généralement d'un mot-clé de type d'adresse, zéro ou plus
paramètres d'adresse requis séparés par ':' du mot-clé et les uns des autres, et
zéro ou plusieurs options d'adresse séparées par ','.

Le mot-clé spécifie le type d'adresse (par exemple, TCP4, OPEN, EXEC). Pour certains mots-clés là
existent des synonymes ('-' pour STDIO, TCP pour TCP4). Les mots-clés sont insensibles à la casse. Pour un peu
types d'adresses spéciaux, le mot-clé peut être omis : Spécifications d'adresse commençant par un
les nombres sont supposés être des adresses FD (descripteur de fichier brut) ; si un '/' est trouvé avant le
premier ':' ou ',', GOPEN (fichier générique ouvert) est supposé.

Le nombre et le type de paramètres d'adresse requis dépendent du type d'adresse. Par exemple, TCP4
nécessite une spécification de serveur (nom ou adresse) et une spécification de port (numéro ou
Nom du service).

Aucune ou plusieurs options d'adresse peuvent être données avec chaque adresse. Ils influencent l'adresse dans
certaines façons. Les options se composent d'un mot-clé d'option ou d'un mot-clé d'option et d'une valeur,
séparés par '='. Les mots-clés d'option sont insensibles à la casse. Pour filtrer les options qui
sont utiles avec un type d'adresse, chaque option est membre d'un groupe d'options. Pour chaque
type d'adresse, un ensemble de groupes d'options est autorisé. Seules les options appartenant à l'un des
ces groupes d'adresses peuvent être utilisés (sauf avec l'option -g).

Les spécifications d'adresse suivant le schéma ci-dessus sont également appelées unique propos
Caractéristiques. Deux adresses simples peuvent être combinées avec "!!!" pour former un double type
adresse pour un canal. Ici, la première adresse est utilisée par socat pour lire les données, et
la deuxième adresse pour l'écriture des données. Il n'y a aucun moyen de spécifier une option une seule fois pour
appliqué aux deux adresses uniques.

Habituellement, les adresses sont ouvertes en mode lecture/écriture. Lorsqu'une adresse fait partie d'un double
spécification d'adresse, ou lorsque l'option -u ou -U est utilisée, une adresse peut être utilisée uniquement pour
lecture ou pour l'écriture. Considérer cela est important avec certains types d'adresses.

Avec socat version 1.5.0 et supérieure, l'analyse lexicale essaie de gérer les guillemets et
parenthèse de manière significative et permet d'échapper des caractères spéciaux. Si l'un des
caractères ( { [ ' est trouvé, le caractère de fermeture correspondant - ) } ] ' - est recherché
pour; ils peuvent également être imbriqués. Dans ces constructions, socats caractères spéciaux et
chaînes : , !! ne sont pas traités spécialement. Tous ces caractères et chaînes peuvent être échappés
avec \ ou entre ""

ADRESSE TYPES


Cette section décrit les types d'adresses disponibles avec leurs mots-clés, paramètres et
sémantique.

CRÉER:
Ouvre avec creat() et utilise le descripteur de fichier pour l'écriture. Cette
le type d'adresse nécessite un contexte en écriture seule, car un fichier ouvert avec creat ne peut pas
être lu à partir de.
Les indicateurs tels que O_LARGEFILE ne peuvent pas être appliqués. Si vous en avez besoin, utilisez OPEN avec des options
créer, créer.
doit être un chemin existant ou non existant valide. Si est un nommé
pipe, creat() peut bloquer ; si fait référence à un socket, il s'agit d'une erreur.
Groupes d'options : FD,REG,NAMED
Options utiles : mode, utilisateur, groupe, unlink-early, unlink-late, ajouter
Voir aussi : OPEN, GOPEN

EXÉCUTIF :
Forks un sous-processus qui établit la communication avec son processus parent et
invoque le programme spécifié avec execvp() . est une simple commande
avec des arguments séparés par des espaces simples. Si le nom du programme contient un '/', le
la partie après le dernier '/' est prise comme ARGV[0]. Si le nom du programme est un parent
path, la sémantique execvp() pour trouver le programme via $PATH s'applique. Après
démarrage réussi du programme, socat écrit les données sur stdin du processus et lit à partir de
sa sortie standard à l'aide d'un socket de domaine UNIX généré par socketpair() par défaut.
(exemple)
Groupes d'options : FD, SOCKET, EXEC, FORK, TERMIOS
Options utiles : chemin, fdin, fdout, chroot, su, su-d, nofork, pty, stderr, ctty,
setsid, tuyaux, connexion, sigint, sigquit
Voir aussi : SYSTÈME

FD :
Utilise le descripteur de fichier . Il doit déjà exister en tant que fichier UN*X valide
descripteur.
Groupes d'options : FD (TERMIOS,REG,SOCKET)
Voir aussi : STDIO, STDIN, STDOUT, STDERR

OUVERT :
(Ouverture générique) Ce type d'adresse essaie de gérer n'importe quelle entrée du système de fichiers, à l'exception
répertoires utilement. peut être un chemin relatif ou absolu. Si c'est déjà
existe, son type est vérifié. Dans le cas d'un socket de domaine UNIX, socat se connecte ; si
la connexion échoue, socat suppose un socket datagramme et utilise les appels sendto(). Si la
l'entrée n'est pas une prise, socat l'ouvre en appliquant l'indicateur O_APPEND. Si ça ne fait pas
existent, il est ouvert avec l'indicateur O_CREAT en tant que fichier normal (exemple).
Groupes d'options : FD,REG,SOCKET,NAMED,OPEN
Voir aussi : OUVRIR, CRÉER, UNIX-CONNECT

IP-SENDTO : :
Ouvre un socket IP brut. Selon la spécification de l'hôte ou l'option pf, protocole IP
la version 4 ou 6 est utilisée. Il utilise envoyer des paquets à [Adresse IP]
et reçoit les paquets de l'hôte, ignore les paquets des autres hôtes. Protocole 255
utilise le socket brut avec l'en-tête IP faisant partie des données.
Groupes d'options : FD, PRISE, IP4, IP6
Options utiles : pf, ttl
Voir aussi : IP4-SENDTO, IP6-SENDTO, IP-RECVFROM, IP-RECV, UDP-SENDTO, UNIX-SENDTO

INTERFACE:
Communique avec un réseau connecté sur une interface en utilisant des paquets bruts comprenant
données au niveau du lien. est le nom de l'interface réseau. Actuellement seulement
disponible sur Linux. Groupes d'options : FD, PRISE
Options utiles : pf, tapez
Voir aussi : ip-recv

IP4-SENDTO : :
Comme IP-SENDTO, mais utilise toujours IPv4.
Groupes d'options : FD, PRISE, IP4

IP6-SENDTO : :
Comme IP-SENDTO, mais utilise toujours IPv6.
Groupes d'options : FD, PRISE, IP6

IP-DATAGRAM : :
Envoie des données sortantes à l'adresse indiquée qui peut notamment être une diffusion
ou adresse de multidiffusion. Les paquets arrivant sur le socket local sont vérifiés si leur
les adresses source correspondent aux options RANGE ou TCPWRAP. Ce type d'adresse peut par exemple
être utilisé pour mettre en œuvre la diffusion ou la multidiffusion symétrique ou asymétrique
communication.
Groupes d'options : FD, SOCKET, IP4, IP6, RANGE
Options utiles : bind, range, tcpwrap, broadcast, ip-multicast-loop,
ip-multicast-ttl, ip-multicast-if, ip-add-membership, ttl, tos, pf
Voir aussi : IP4-DATAGRAM, IP6-DATAGRAM, IP-SENDTO, IP-RECVFROM, IP-RECV, UDP-DATAGRAM

IP4-DATAGRAM : :
Comme IP-DATAGRAM, mais utilise toujours IPv4. (Exemple)
Groupes d'options : FD, PRISE, IP4, GAMME

IP6-DATAGRAM : :
Comme IP-DATAGRAM, mais utilise toujours IPv6. Veuillez noter qu'IPv6 ne sait pas
Émissions.
Groupes d'options : FD, PRISE, IP6, GAMME

IP-RECVDE :
Ouvre un socket IP brut de . Selon l'option pf, protocole IP version 4
ou 6 est utilisé. Il reçoit un paquet d'un pair non spécifié et peut envoyer un ou
plus de paquets de réponses à ce pair. Ce mode est particulièrement utile avec fork
option où chaque paquet arrivant - provenant de pairs arbitraires - est géré par son propre
sous-processus. Cela permet un comportement similaire aux serveurs UDP typiques comme
ntpd ou nommé.
Veuillez noter que les paquets de réponse peuvent être récupérés en tant que trafic entrant lorsque l'expéditeur
et l'adresse IP du récepteur sont identiques car il n'y a pas de numéro de port à
distinguer les prises.
Cette adresse fonctionne bien avec les pairs d'adresses IP-SENDTO (voir ci-dessus). Protocole 255
utilise le socket brut avec l'en-tête IP faisant partie des données.
Groupes d'options : FD, PRISE, IP4, IP6, ENFANT, GAMME
Options utiles : pf, fork, range, ttl, broadcast
Voir aussi : IP4-RECVFROM, IP6-RECVFROM, IP-SENDTO, IP-RECV, UDP-RECVFROM,
UNIX-RECVFROM

IP4-RECVFROM :
Comme IP-RECVFROM, mais utilise toujours IPv4.
Groupes d'options : FD, PRISE, IP4, ENFANT, GAMME

IP6-RECVFROM :
Comme IP-RECVFROM, mais utilise toujours IPv6.
Groupes d'options : FD, PRISE, IP6, ENFANT, GAMME

IP-RECV :
Ouvre un socket IP brut de . Selon l'option pf, protocole IP version 4
ou 6 est utilisé. Il reçoit des paquets de plusieurs pairs non spécifiés et fusionne les
Les données. Aucune réponse n'est possible. Il peut être, par exemple, adressé par socat IP-SENDTO
s'adresser à ses pairs. Le protocole 255 utilise le socket brut avec l'en-tête IP faisant partie de
les données.
Groupes d'options : FD, PRISE, IP4, IP6, GAMME
Options utiles : pf, plage
Voir aussi : IP4-RECV, IP6-RECV, IP-SENDTO, IP-RECVFROM, UDP-RECV, UNIX-RECV

IP4-RECV :
Comme IP-RECV, mais utilise toujours IPv4.
Groupes d'options : FD, PRISE, IP4, GAMME

IP6-RECV :
Comme IP-RECV, mais utilise toujours IPv6.
Groupes d'options : FD, PRISE, IP6, GAMME

OUVERT:
Ouvre en utilisant l'appel système open() (exemple). Cette opération échoue le
sockets de domaine UNIX.
Remarque : Ce type d'adresse est rarement utile en mode bidirectionnel.
Groupes d'options : FD,REG,NAMED,OPEN
Options utiles : créer, exclure, noatime, nofollow, ajouter, rdonly, erronément, verrouiller,
readbytes, ignoré
Voir aussi : CREATE, GOPEN, UNIX-CONNECT

OPENSSL : :
Tente d'établir une connexion SSL avec [Service TCP] sur [Adresse IP]
en utilisant TCP/IP version 4 ou 6 selon la spécification de l'adresse, la résolution de nom ou
option pf.
REMARQUE : Jusqu'à la version 1.7.2.4, la validité du certificat du serveur était uniquement vérifiée
contre le magasin de certificats système, le cafile ou le capath, mais pas pour la correspondance avec
le nom du serveur ou son adresse IP. Depuis la version 1.7.3.0, socat vérifie le pair
certificat de correspondance avec le paramètre ou la valeur du
l'option openssl-commonname. Socat essaie de le comparer aux certificats
subject commonName et les noms DNS de l'extension de certification subjectAltName.
Les caractères génériques dans le certificat sont pris en charge.
Groupes d'options : FD, PRISE, IP4, IP6, TCP, OUVERT SL, RÉESSAYER
Options utiles : cipher, method, verify, commonname cafile, capath, certificate,
clé, compresser, lier, pf, délai de connexion, port source, réessayer
Voir aussi : OPENSSL-LISTEN, TCP

OPENSSL-LISTEN :
Ecoute sur tcp [Service TCP]. La version IP est 4 ou celle spécifiée avec
pf. Lorsqu'une connexion est acceptée, cette adresse se comporte comme un serveur SSL.
Remarque : vous souhaiterez probablement utiliser l'option de certificat avec cette adresse.
REMARQUE : La validité du certificat client n'est vérifiée que par rapport à cafile ou capath,
mais pas pour correspondre avec le nom du client ou son adresse IP !
Groupes d'options : FD, PRISE, IP4, IP6, TCP, ÉCOUTE, OUVRIR SL, ENFANT, GAMME, RÉESSAYER
Options utiles : pf, cipher, method, verify, commonname cafile, capath, certificate,
clé, compresser, fourche, lier, plage, tcpwrap, su, reuseaddr, réessayer
Voir aussi : OPENSSL, TCP-LISTEN

TUYAU:
Si existe déjà, il est ouvert. S'il n'existe pas, un tube nommé est
créé et ouvert. À partir de la version 1.4.3 de socat, le tube nommé est supprimé
lorsque l'adresse est fermée (mais voir l'option unlink-close
Remarque : Lorsqu'un tube est utilisé à la fois pour la lecture et l'écriture, il fonctionne comme un service d'écho.
Remarque : Lorsqu'un tube est utilisé à la fois pour la lecture et l'écriture et que socat essaie d'écrire
plus d'octets que le tube ne peut mettre en mémoire tampon (Linux 2.4 : 2048 octets), socat peut bloquer.
Envisagez d'utiliser l'option socat, par exemple, -b 2048
Groupes d'options : FD,NAMED,OPEN
Options utiles : rdonly, nonblock, group, user, mode, unlink-early
Voir aussi : tuyau sans nom

TUYAU Crée un tube sans nom et l'utilise pour la lecture et l'écriture. Cela fonctionne comme un écho,
car tout ce qui y est écrit apparaît immédiatement comme des données lues.
Remarque : lorsque socat essaie d'écrire plus d'octets que le tube ne peut mettre en file d'attente (Linux 2.4 : 2048
octets), socat peut bloquer. Considérons, par exemple, l'utilisation de l'option -b 2048
Groupes d'options : FD
Voir aussi : tuyau nommé

PROCURATION: : :
Se connecte à un serveur proxy HTTP sur le port 8080 à l'aide de TCP/IP version 4 ou 6
selon la spécification de l'adresse, la résolution du nom ou l'option pf, et envoie un
Requête CONNECT pour le nom d'hôte:port. Si le proxy accorde l'accès et réussit à
se connecter à la cible, le transfert de données entre socat et la cible peut commencer. Noter
que le trafic n'a pas besoin d'être HTTP mais peut être un protocole arbitraire.
Groupes d'options : FD, PRISE, IP4, IP6, TCP, HTTP, RÉESSAYER
Options utiles : proxyport, ignorecr, proxyauth, resolve, crnl, bind,
délai de connexion, mss, port source, réessayer
Voir aussi : CHAUSSETTES, TCP

PTY Génère un pseudo terminal (pty) et utilise son côté maître. Un autre processus peut
ouvrez le côté esclave du pty en l'utilisant comme une ligne série ou un terminal. (Exemple). Si
les deux mécanismes ptmx et openpty sont disponibles, ptmx est utilisé (POSIX).
Groupes d'options : FD,NAMED,PTY,TERMIOS
Options utiles : lien, openpty, wait-slave, mode, user, group
Voir aussi : UNIX-LISTEN, PIPE, EXEC, SYSTEM

LIRE LA LIGNE
Utilise GNU readline et l'historique sur stdio pour permettre l'édition et la réutilisation des lignes d'entrée
(Exemple).
En raison des restrictions de licence, la fonctionnalité readline est désactivée dans Debian. Voir
INSECTES.
Vous pouvez utiliser STDIO à la place.

SCTP-CONNECT : :
Établit une connexion de flux SCTP au [adresse IP] et
[Service TCP] utilisant TCP/IP version 4 ou 6 selon l'adresse
spécification, résolution de nom ou option pf.
Groupes d'options : FD, PRISE, IP4, IP6, SCTP, ENFANT, RÉESSAYER
Options utiles : bind, pf, connect-timeout, tos, mtudiscover, sctp-maxseg,
sctp-nodelay, nonblock, sourceport, réessayer, readbytes
Voir aussi : SCTP4-CONNECT, SCTP6-CONNECT, SCTP-LISTEN, TCP-CONNECT

SCTP4-CONNECT : :
Comme SCTP-CONNECT, mais ne prend en charge que le protocole IPv4.
Groupes d'options : FD, PRISE, IP4, SCTP, ENFANT, RÉESSAYER

SCTP6-CONNECT : :
Comme SCTP-CONNECT, mais ne prend en charge que le protocole IPv6.
Groupes d'options : FD, PRISE, IP6, SCTP, ENFANT, RÉESSAYER

SCTP-ÉCOUTER :
Écoute sur [Service TCP] et accepte une connexion TCP/IP. La version IP est
4 ou celui spécifié avec l'option d'adresse pf, l'option socat (-4, -6), ou
variable d'environnement SOCAT_DEFAULT_LISTEN_IP. Notez que l'ouverture de cette adresse
bloque généralement jusqu'à ce qu'un client se connecte.
Groupes d'options : FD, PRISE, ÉCOUTEZ, ENFANT, GAMME, IP4, IP6, SCTP, RÉESSAYER
Options utiles : crnl, fork, bind, range, tcpwrap, pf, max-children, backlog,
sctp-maxseg, sctp-nodelay, su, reuseaddr, réessayer, cool-write
Voir aussi : SCTP4-LISTEN, SCTP6-LISTEN, TCP-LISTEN, SCTP-CONNECT

SCTP4-ÉCOUTER :
Comme SCTP-LISTEN, mais ne prend en charge que le protocole IPv4.
Groupes d'options : FD, PRISE, ÉCOUTEZ, ENFANT, GAMME, IP4, SCTP, RÉESSAYER

SCTP6-ÉCOUTER :
Comme SCTP-LISTEN, mais ne prend en charge que le protocole IPv6.
Groupes d'options : FD, PRISE, ÉCOUTEZ, ENFANT, GAMME, IP6, SCTP, RÉESSAYER

PRISE DE CONNEXION : : :
Crée une socket de flux en utilisant les premier et deuxième paramètres de socket donnés et
SOCK_STREAM (voir man socket\(2)) et se connecte à l'adresse distante. Les deux
les paramètres de socket doivent être spécifiés par des nombres entiers. Consultez votre système d'exploitation
documentation et inclure des fichiers pour trouver les valeurs appropriées. L'adresse distante
doit être la représentation des données d'une structure sockaddr sans sa_family et (BSD)
composants sa_len.
Veuillez noter que vous pouvez - au-delà des options des groupes spécifiés - également utiliser
options de protocoles de niveau supérieur lorsque vous appliquez l'option socat -g.
Groupes d'options : FD, PRISE, ENFANT, RÉESSAYER
Options utiles : bind, setsockopt-int, setsockopt-bin, setsockopt-string
Voir aussi : TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO

DONNÉES-DOUILLES : : : :
Crée une socket datagramme en utilisant les trois premiers paramètres de socket donnés (voir man
socket\(2)) et envoie les données sortantes à l'adresse distante. Les trois prises
les paramètres doivent être spécifiés par des nombres entiers. Consultez la documentation de votre système d'exploitation et
inclure des fichiers pour trouver les valeurs appropriées. L'adresse distante doit être les données
représentation d'une structure sockaddr sans sa_family et (BSD) sa_len
composants.
Veuillez noter que vous pouvez - au-delà des options des groupes spécifiés - également utiliser
options de protocoles de niveau supérieur lorsque vous appliquez l'option socat -g.
Groupes d'options : FD, PRISE, GAMME
Options utiles : bind, range, setsockopt-int, setsockopt-bin, setsockopt-string
Voir aussi : UDP-DATAGRAM, IP-DATAGRAM, SOCKET-SENDTO, SOCKET-RECV, SOCKET-RECVFROM

SOCKET-LISTEN : : :
Crée une socket de flux en utilisant les premier et deuxième paramètres de socket donnés et
SOCK_STREAM (voir man socket\(2)) et attend les connexions entrantes sur
adresse locale. Les deux paramètres de socket doivent être spécifiés par des nombres entiers.
Consultez la documentation de votre système d'exploitation et incluez des fichiers pour trouver les valeurs appropriées. Les
local-address doit être la représentation des données d'une structure sockaddr sans
composants sa_family et (BSD) sa_len.
Veuillez noter que vous pouvez - au-delà des options des groupes spécifiés - également utiliser
options de protocoles de niveau supérieur lorsque vous appliquez l'option socat -g.
Groupes d'options : FD, PRISE, ÉCOUTE, GAMME, ENFANT, RÉESSAYER
Options utiles : setsockopt-int, setsockopt-bin, setsockopt-string
Voir aussi : TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO,
SOCKET-ENVOYER À

PRISE-RECV : : : :
Crée une socket en utilisant les trois paramètres de socket donnés (voir man socket\(2)) et
le lie à . Reçoit les données arrivant. Les trois paramètres doivent
être spécifié par des nombres entiers. Consultez la documentation de votre système d'exploitation et incluez les fichiers à
trouver les valeurs appropriées. L'adresse locale doit être la représentation des données d'un
structure sockaddr sans les composants sa_family et (BSD) sa_len.
Groupes d'options : FD, PRISE, GAMME
Options utiles : plage, setsockopt-int, setsockopt-bin, setsockopt-string
Voir aussi : UDP-RECV, IP-RECV, UNIX-RECV, SOCKET-DATAGRAM, SOCKET-SENDTO,
PRISE-RECVDE

PRISE-RECVDE : : : :
Crée une socket en utilisant les trois paramètres de socket donnés (voir man socket\(2)) et
le lie à . Reçoit les données entrantes et renvoie les réponses au
expéditeur. Les trois premiers paramètres doivent être spécifiés sous forme de nombres entiers. Consulter
la documentation de votre système d'exploitation et incluez des fichiers pour trouver les valeurs appropriées. Les
local-address doit être la représentation des données d'une structure sockaddr sans
composants sa_family et (BSD) sa_len.
Groupes d'options : FD, PRISE, ENFANT, GAMME
Options utiles : fork, range, setsockopt-int, setsockopt-bin, setsockopt-string
Voir aussi : UDP-RECVFROM, IP-RECVFROM, UNIX-RECVFROM, SOCKET-DATAGRAM, SOCKET-SENDTO,
PRISE-RECV

SOCKET-SENDTO : : : :
Crée une socket en utilisant les trois paramètres de socket donnés (voir man socket\(2)).
Envoie les données sortantes à l'adresse indiquée et reçoit les réponses. Les trois
les paramètres doivent être spécifiés sous forme de nombres entiers. Consultez la documentation de votre système d'exploitation et
inclure des fichiers pour trouver les valeurs appropriées. L'adresse distante doit être les données
représentation d'une structure sockaddr sans sa_family et (BSD) sa_len
composants.
Groupes d'options : FD, PRISE
Options utiles : bind, setsockopt-int, setsockopt-bin, setsockopt-string
Voir aussi : UDP-SENDTO, IP-SENDTO, UNIX-SENDTO, SOCKET-DATAGRAM, SOCKET-RECV
PRISE-RECVDE

CHAUSSETTES4 : : :
Se connecte via [adresse IP] à [Adresse IPv4] sur [TCP
service], en utilisant le protocole de chaussettes version 4 sur IP version 4 ou 6 selon
spécification d'adresse, résolution de nom ou option pf (exemple).
Groupes d'options : FD, PRISE, IP4, IP6, TCP, SOCKS4, RÉESSAYER
Options utiles : socksuser, chaussettesport, sourceport, pf, réessayer
Voir aussi : SOCKS4A, PROXY, TCP

SOCKS4A : : :
comme SOCKS4, mais utilise le protocole Socks version 4a, laissant ainsi la résolution du nom d'hôte
au serveur de chaussettes.
Groupes d'options : FD, PRISE, IP4, IP6, TCP, SOCKS4, RÉESSAYER

STDERR Utilise le descripteur de fichier 2.
Groupes d'options : FD (TERMIOS,REG,SOCKET)
Voir aussi : FD

STDIN Utilise le descripteur de fichier 0.
Groupes d'options : FD (TERMIOS,REG,SOCKET)
Options utiles : readbytes
Voir aussi : FD

STDIUM Utilise le descripteur de fichier 0 pour la lecture et 1 pour l'écriture.
Groupes d'options : FD (TERMIOS,REG,SOCKET)
Options utiles : readbytes
Voir aussi : FD

SORTIE STD Utilise le descripteur de fichier 1.
Groupes d'options : FD (TERMIOS,REG,SOCKET)
Voir aussi : FD

SYSTÈME:
Forks un sous-processus qui établit la communication avec son processus parent et
invoque le programme spécifié avec system() . Veuillez noter que
[string] ne doit pas contenir ',' ou "!!", et les méta-caractères du shell peuvent devoir
protége toi. Après un démarrage réussi du programme, socat écrit des données sur stdin du
processus et lit à partir de son stdout.
Groupes d'options : FD, SOCKET, EXEC, FORK, TERMIOS
Options utiles : chemin, fdin, fdout, chroot, su, su-d, nofork, pty, stderr, ctty,
setsid, tuyaux, sigint, sigquit
Voir aussi : EXEC

TCP : :
Se connecte à [Service TCP] sur [Adresse IP] utilisant TCP/IP version 4 ou 6
selon la spécification de l'adresse, la résolution du nom ou l'option pf.
Groupes d'options : FD, PRISE, IP4, IP6, TCP, RÉESSAYER
Options utiles : crnl, bind, pf, connect-timeout, tos, mtudiscover, mss, nodelay,
nonblock, sourceport, réessayer, readbytes
Voir aussi : TCP4, TCP6, TCP-LISTEN, UDP, SCTP-CONNECT, UNIX-CONNECT

TCP4 : :
Comme TCP, mais ne prend en charge que le protocole IPv4 (exemple).
Groupes d'options : FD, PRISE, IP4, TCP, RÉESSAYER

TCP6 : :
Comme TCP, mais ne prend en charge que le protocole IPv6.
Groupes d'options : FD, PRISE, IP6, TCP, RÉESSAYER

TCP-ÉCOUTER :
Écoute sur [Service TCP] et accepte une connexion TCP/IP. La version IP est
4 ou celui spécifié avec l'option d'adresse pf, l'option socat (-4, -6), ou
variable d'environnement SOCAT_DEFAULT_LISTEN_IP. Notez que l'ouverture de cette adresse
bloque généralement jusqu'à ce qu'un client se connecte.
Groupes d'options : FD, PRISE, ÉCOUTE, ENFANT, GAMME, IP4, IP6, TCP, RÉESSAYER
Options utiles : crnl, fork, bind, range, tcpwrap, pf, max-children, backlog, mss,
su, reuseaddr, réessayer, cool-write
Voir aussi : TCP4-LISTEN, TCP6-LISTEN, UDP-LISTEN, SCTP-LISTEN, UNIX-LISTEN,
OPENSSL-ÉCOUTER, TCP-CONNECT

TCP4-ÉCOUTE :
Comme TCP-LISTEN, mais ne prend en charge que le protocole IPv4 (exemple).
Groupes d'options : FD, PRISE, ÉCOUTEZ, ENFANT, GAMME, IP4, TCP, RÉESSAYER

TCP6-ÉCOUTE :
Comme TCP-LISTEN, mais ne prend en charge que le protocole IPv6.
Option utile supplémentaire : ipv6only
Groupes d'options : FD, PRISE, ÉCOUTEZ, ENFANT, GAMME, IP6, TCP, RÉESSAYER

TONNEAU[: / ]
Crée un périphérique Linux TUN/TAP et lui attribue éventuellement l'adresse et le masque de réseau
donné par les paramètres. L'interface réseau résultante est presque prête à être utilisée par
autres processus; socat sert son "côté filaire". Cette adresse nécessite lecture et écriture
accès au périphérique de clonage du tunnel, généralement /dev/net/tun , ainsi que l'autorisation
pour définir des ioctl()s. Option iff-up is conditions à immédiatement activer le
interface!
Groupes d'options : FD,NAMED,OPEN,TUN
Options utiles : iff-up, tun-device, tun-name, tun-type, iff-no-pi
Voir aussi : ip-recv

UDP : :
Se connecte à [Service UDP] sur [Adresse IP] utilisant UDP/IP version 4 ou 6
selon la spécification de l'adresse, la résolution du nom ou l'option pf.
Veuillez noter qu'en raison des propriétés du protocole UDP, aucune connexion réelle n'est
établi; les données doivent être envoyées pour la "connexion" au serveur, et pas de fin de fichier
l'état peut être transporté.
Groupes d'options : FD, PRISE, IP4, IP6
Options utiles : ttl, tos, bind, sourceport, pf
Voir aussi : UDP4, UDP6, UDP-LISTEN, TCP, IP

UDP4 : :
Comme UDP, mais ne prend en charge que le protocole IPv4.
Groupes d'options : FD, PRISE, IP4

UDP6 : :
Comme UDP, mais ne prend en charge que le protocole IPv6.
Groupes d'options : FD, PRISE, IP6

UDP-DATAGRAM : :
Envoie des données sortantes à l'adresse indiquée qui peut notamment être une diffusion
ou adresse de multidiffusion. Les paquets arrivant sur le socket local sont vérifiés pour le
port distant correct et si leurs adresses source correspondent aux options RANGE ou TCPWRAP.
Ce type d'adresse peut par exemple être utilisé pour la mise en œuvre symétrique ou asymétrique
communications de diffusion ou de multidiffusion.
Groupes d'options : FD, PRISE, IP4, IP6, GAMME
Options utiles : bind, range, tcpwrap, broadcast, ip-multicast-loop,
ip-multicast-ttl, ip-multicast-if, ip-add-membership, ttl, tos, port source, pf
Voir aussi : UDP4-DATAGRAM, UDP6-DATAGRAM, UDP-SENDTO, UDP-RECVFROM, UDP-RECV,
UDP-CONNECT, UDP-LISTEN, IP-DATAGRAMM

UDP4-DATAGRAM : :
Comme UDP-DATAGRAM, mais ne prend en charge que le protocole IPv4 (exemple1, exemple2).
Groupes d'options : FD, PRISE, IP4, GAMME

UDP6-DATAGRAM : :
Comme UDP-DATAGRAM, mais ne prend en charge que le protocole IPv6.
Groupes d'options : FD, PRISE, IP6, GAMME

UDP-LISTEN :
Attend l'arrivée d'un paquet UDP/IP sur [service UDP] et se « reconnecte » à
expéditeur. La version IP acceptée est 4 ou celle spécifiée avec l'option pf. S'il te plaît
notez qu'en raison des propriétés du protocole UDP, aucune connexion réelle n'est établie ; Les données
doit d'abord arriver de l'homologue, et aucune condition de fin de fichier ne peut être transportée.
Notez que l'ouverture de cette adresse bloque généralement jusqu'à ce qu'un client se connecte.
Groupes d'options : FD, PRISE, ÉCOUTEZ, ENFANT, GAMME, IP4, IP6
Options utiles : fourchette, liaison, plage, pf
Voir aussi : UDP, UDP4-LISTEN, UDP6-LISTEN, TCP-LISTEN

UDP4-LISTEN :
Comme UDP-LISTEN, mais ne prend en charge que le protocole IPv4.
Groupes d'options : FD, PRISE, ÉCOUTEZ, ENFANT, GAMME, IP4

UDP6-LISTEN :
Comme UDP-LISTEN, mais ne prend en charge que le protocole IPv6.
Groupes d'options : FD, PRISE, ÉCOUTEZ, ENFANT, GAMME, IP6

UDP-SENDTO : :
Communique avec le socket homologue spécifié, défini par [Service UDP] sur
[Adresse IP], en utilisant UDP/IP version 4 ou 6 selon l'adresse
spécification, résolution de nom ou option pf. Il envoie des paquets et reçoit
paquets de ce socket homologue uniquement. Cette adresse implémente effectivement un datagramme
client. Il fonctionne bien avec les homologues d'adresses socat UDP-RECVFROM et UDP-RECV.
Groupes d'options : FD, PRISE, IP4, IP6
Options utiles : ttl, tos, bind, sourceport, pf
Voir aussi : UDP4-SENDTO, UDP6-SENDTO, UDP-RECVFROM, UDP-RECV, UDP-CONNECT,
UDP-ÉCOUTER, IP-ENVOYER

UDP4-SENDTO : :
Comme UDP-SENDTO, mais ne prend en charge que le protocole IPv4.
Groupes d'options : FD, PRISE, IP4

UDP6-SENDTO : :
Comme UDP-SENDTO, mais ne prend en charge que le protocole IPv6.
Groupes d'options : FD, PRISE, IP6

UDP-RECVFROM :
Crée un socket UDP sur [Service UDP] utilisant UDP/IP version 4 ou 6 selon
en option pf. Il reçoit un paquet d'un pair non spécifié et peut envoyer un ou
plus de paquets de réponses à ce pair. Ce mode est particulièrement utile avec l'option fork
où chaque paquet arrivant - provenant de pairs arbitraires - est géré par son propre sous
traiter. Cela permet un comportement similaire aux serveurs UDP typiques comme ntpd ou
nommé. Cette adresse fonctionne bien avec les homologues d'adresses socat UDP-SENDTO.
Groupes d'options : FD, PRISE, IP4, IP6, ENFANT, GAMME
Options utiles : fork, ttl, tos, bind, sourceport, pf
Voir aussi : UDP4-RECVFROM, UDP6-RECVFROM, UDP-SENDTO, UDP-RECV, UDP-CONNECT,
UDP-LISTEN, IP-RECVFROM, UNIX-RECVFROM

UDP4-RECVFROM :
Comme UDP-RECVFROM, mais ne prend en charge que le protocole IPv4.
Groupes d'options : FD, PRISE, IP4, ENFANT, GAMME

UDP6-RECVFROM :
Comme UDP-RECVFROM, mais ne prend en charge que le protocole IPv6.
Groupes d'options : FD, PRISE, IP6, ENFANT, GAMME

UDP-RECV :
Crée un socket UDP sur [Service UDP] utilisant UDP/IP version 4 ou 6 selon
en option pf. Il reçoit des paquets de plusieurs pairs non spécifiés et fusionne les
Les données. Aucune réponse n'est possible. Cela fonctionne bien avec, par exemple, l'adresse socat UDP-SENDTO
pairs; il se comporte comme un serveur syslog.
Groupes d'options : FD, PRISE, IP4, IP6, GAMME
Options utiles : fork, pf, bind, sourceport, ttl, tos
Voir aussi : UDP4-RECV, UDP6-RECV, UDP-SENDTO, UDP-RECVFROM, UDP-CONNECT, UDP-LISTEN,
IP-RECV, UNIX-RECV

UDP4-RECV :
Comme UDP-RECV, mais ne prend en charge que le protocole IPv4.
Groupes d'options : FD, PRISE, IP4, GAMME

UDP6-RECV :
Comme UDP-RECV, mais ne prend en charge que le protocole IPv6.
Groupes d'options : FD, PRISE, IP6, GAMME

UNIX-CONNECT :
Se connecte à en supposant qu'il s'agit d'un socket de domaine UNIX. Si ne fait pas
existe, c'est une erreur; si n'est pas un socket de domaine UNIX, il s'agit d'un
Erreur; si est un socket de domaine UNIX, mais aucun processus n'écoute, c'est
une erreur.
Groupes d'options : FD,SOCKET,NAMED,RÉESSAYER,UNIX
) Options utiles : lier
Voir aussi : UNIX-LISTEN, UNIX-SENDTO, TCP

ÉCOUTEZ UNIX :
Écoute sur utilisant un socket de flux de domaine UNIX et accepte une connexion.
Si existe et n'est pas un socket, c'est une erreur. Si existe
et est un socket de domaine UNIX, la liaison à l'adresse échoue (utilisez l'option
dissocier tôt !). Notez que l'ouverture de cette adresse bloque généralement jusqu'à ce qu'un client
se connecte. À partir de la version 1.4.3 de socat, l'entrée du système de fichiers est supprimée
lorsque cette adresse est fermée (mais voir l'option unlink-close) (exemple).
Groupes d'options : FD, PRISE, NOMMÉ, ÉCOUTEZ, ENFANT, RÉESSAYER, UNIX
Options utiles : fork, umask, mode, utilisateur, groupe, unlink-early
Voir aussi : UNIX-CONNECT, UNIX-RECVFROM, UNIX-RECV, TCP-LISTEN

UNIX-SENDTO :
Communique avec le socket homologue spécifié, défini par [ ] en supposant que c'est
un socket de datagramme de domaine UNIX. Il envoie des paquets à et reçoit des paquets de ce
socket pair uniquement. Veuillez noter qu'il peut être nécessaire de lier le socket local
à une adresse (par exemple /tmp/sock1, qui ne doit pas exister auparavant). Ce type d'adresse
fonctionne bien avec les homologues d'adresses socat UNIX-RECVFROM et UNIX-RECV.
Groupes d'options : FD,SOCKET,NAMED,UNIX
Options utiles : lier
Voir aussi : UNIX-RECVFROM, UNIX-RECV, UNIX-CONNECT, UDP-SENDTO, IP-SENDTO

UNIX-RECVDE :
Crée un socket de datagramme de domaine UNIX [ ]. Reçoit un paquet et peut
envoyer un ou plusieurs paquets de réponses à cet homologue. Ce mode est particulièrement utile
avec l'option fork où chaque paquet arrivant - provenant de pairs arbitraires - est géré par
son propre sous-processus. Cette adresse fonctionne bien avec les homologues d'adresses socat UNIX-SENDTO.
Groupes d'options : FD, PRISE, NOMMÉ, ENFANT, UNIX
Options utiles : fourche
Voir aussi : UNIX-SENDTO, UNIX-RECV, UNIX-LISTEN, UDP-RECVFROM, IP-RECVFROM

UNIX-RECV :
Crée un socket de datagramme de domaine UNIX [ ]. Reçoit des paquets de plusieurs
pairs non spécifiés et fusionne les données. Aucune réponse n'est possible. Il peut s'agir, par exemple,
adressé par les pairs d'adresses socat UNIX-SENDTO. Il se comporte comme un syslog
serveur. Groupes d'options : FD,SOCKET,NAMED,UNIX
Voir aussi : UNIX-SENDTO, UNIX-RECVFROM, UNIX-LISTEN, UDP-RECV, IP-RECV

CLIENT UNIX :
Communique avec le socket homologue spécifié, défini par [ ] en supposant que c'est
un socket de domaine UNIX. Il essaie d'abord de se connecter et, en cas d'échec, suppose qu'il est
un socket de datagramme, supportant ainsi les deux types.
Groupes d'options : FD,SOCKET,NAMED,UNIX
Options utiles : lier
Voir aussi : UNIX-CONNECT, UNIX-SENDTO, GOPEN

ABSTRACT-CONNECT :

RÉSUMÉ-ÉCOUTER :

RÉSUMÉ-ENVOYER À :

RÉSUMÉ-RECVFROM :

RÉSUMÉ-RECV :

RÉSUMÉ-CLIENT :
Les adresses ABSTRACT sont presque identiques aux adresses UNIX associées sauf
qu'ils ne s'adressent pas aux sockets basés sur le système de fichiers mais à un domaine UNIX alternatif
espace d'adressage. Pour l'archiver, les chaînes d'adresses de socket sont préfixées par "\0"
intérieurement. Cette fonctionnalité est disponible (uniquement ?) sur Linux. Les groupes d'options sont les mêmes
comme pour les adresses UNIX associées, sauf que les adresses ABSTRACT ne sont pas
membre du groupe NAMED.

ADRESSE OPTIONS


Les options d'adresse peuvent être appliquées aux spécifications d'adresse pour influencer le processus de
ouvrir les adresses et les propriétés des canaux de données résultants.

Pour des raisons techniques, toutes les options ne peuvent pas être appliquées à chaque type d'adresse ; par exemple,
l'application d'une option de socket à un fichier normal échouera. Pour attraper la plupart des combinaisons inutiles
dès la phase ouverte, le concept de option groupes a été présenté. Chaque option
appartient à un ou plusieurs groupes d'options. Les options ne peuvent être utilisées qu'avec les types d'adresse qui
prennent en charge au moins un de leurs groupes d'options (mais voir l'option -g).

Les options d'adresse ont des types de données auxquels leurs valeurs doivent se conformer. Chaque option d'adresse
se compose simplement d'un mot-clé ou d'un mot-clé suivi de "=valeur", où la valeur doit être conforme à
le type d'options. Certaines options d'adresse manipulent les paramètres des appels système ; par exemple,
L'option sync définit le drapeau O_SYNC avec l'appel open(). D'autres options provoquent un système ou
appel à la bibliothèque ; par exemple, avec l'option `ttl=value' le setsockopt(fd, SOL_IP, IP_TTL, value,
sizeof(int)) est appliqué. Autres options définies en interne socat variables qui sont utilisées
pendant le transfert de données ; par exemple, `crnl' provoque des conversions de caractères explicites. Quelques options
avoir des implémentations plus complexes ; par exemple, su-d (substuser-delayed) interroge un utilisateur et
group infos, les stocke et les applique plus tard après un éventuel appel chroot().

Si plusieurs options sont données à une adresse, leur séquence dans la spécification de l'adresse
n'a (presque) aucun effet sur la séquence de leur exécution/application. Au lieu, socat a
construit dans un option phase modèle qui essaie de mettre les options dans un ordre utile. Certains
des options existent sous différentes formes (par exemple, unlink, unlink-early, unlink-late) pour contrôler le
moment de leur exécution.

Si la même option est spécifiée plus d'une fois dans une spécification d'adresse, avec
valeurs égales ou différentes, l'effet dépend du type d'option. Options résultant en
les appels de fonction comme setsockopt() provoquent plusieurs invocations. Avec des options qui définissent
paramètres pour un appel requis comme open() ou définir des indicateurs internes, la valeur du dernier
l'occurrence de l'option est effective.

L'existence ou la sémantique de nombreuses options dépendent du système. Socat habituellement PAS
essayez d'émuler les fonctionnalités manquantes de la libc ou du noyau, cela fournit simplement une interface au
système sous-jacent. Ainsi, si un système d'exploitation manque d'une fonctionnalité, l'option associée est
tout simplement pas disponible sur cette plate-forme.

Les paragraphes suivants présentent uniquement les options d'adresses les plus courantes. Pour un plus
référence complète et pour trouver des informations sur les noms d'options canoniques, les noms d'alias,
phases d'options, et plates-formes voir fichier xio.aide.

FD option groupe

Ce groupe d'options contient des options qui sont appliquées à un descripteur de fichier de style UN*X, non
peu importe comment il a été généré. Parce que tous les courants socat les types d'adresses sont des descripteurs de fichiers
basé, ces options peuvent être appliquées à n'importe quelle adresse.
Remarque : Certaines de ces options sont également membres d'un autre groupe d'options, qui fournit
un autre mécanisme non basé sur la fd. Pour ces options, cela dépend du type d'adresse réel
et ses groupes d'options quel mécanisme est utilisé. Le deuxième mécanisme, non basé sur la fd, est
priorisé.

cloexec=
Définit le drapeau FD_CLOEXEC avec l'appel système fcntl() à la valeur . S'il est défini, le
le descripteur de fichier est fermé lors des appels de fonction de la famille exec(). Socat gère en interne
ce drapeau pour les fds qu'il contrôle, donc dans la plupart des cas il n'y aura pas besoin d'appliquer
cette option.

régler Essaie de définir un verrou en écriture discrétionnaire sur l'ensemble du fichier en utilisant le fcntl(fd,
F_SETLK, ...) appel système. Si le fichier est déjà verrouillé, cet appel entraîne un
Erreur. Sous Linux, lorsque les autorisations de fichier pour le groupe sont "S" (gx,g+s), et le
le système de fichiers est monté localement avec l'option "mand", le verrou est obligatoire, c'est à dire
empêche d'autres processus d'ouvrir le fichier.

définir Tente de définir un verrou d'écriture en attente discrétionnaire sur l'ensemble du fichier à l'aide de la
fcntl(fd, F_SETLKW, ...) appel système. Si le fichier est déjà verrouillé, cet appel
blocs. Voir l'option setlk pour plus d'informations sur la façon de rendre ce verrou obligatoire.

setlk-rd
Essaie de définir un verrou de lecture discrétionnaire sur l'ensemble du fichier à l'aide de la fonction fcntl(fd,
F_SETLK, ...) appel système. Si le fichier est déjà verrouillé en écriture, cet appel résulte
dans une erreur. Voir l'option setlk pour plus d'informations sur la façon de rendre ce verrou obligatoire.

setlkw-rd
Tente de définir un verrou de lecture en attente discrétionnaire sur l'ensemble du fichier à l'aide de la
fcntl(fd, F_SETLKW, ...) appel système. Si le fichier est déjà verrouillé en écriture, cette
blocs d'appels. Voir l'option setlk pour plus d'informations sur la façon de rendre ce verrou obligatoire.

troupeau-ex
Tente de définir un verrou consultatif exclusif bloquant sur le fichier à l'aide de flock(fd,
LOCK_EX) appel système. Socat se bloque dans cet appel si le fichier est verrouillé par un autre
processus.

troupeau-ex-nb
Tente de définir un verrou consultatif exclusif non bloquant sur le fichier à l'aide de flock(fd,
LOCK_EX|LOCK_NB). Si le fichier est déjà verrouillé, cette option entraîne
une erreur.

troupeau-sh
Tente de définir un verrou consultatif partagé bloquant sur le fichier à l'aide de flock(fd,
LOCK_SH) appel système. Socat se bloque dans cet appel si le fichier est verrouillé par un autre
processus.

troupeau-sh-nb
Tente de définir un verrou consultatif partagé non bloquant sur le fichier à l'aide de flock(fd,
LOCK_SH|LOCK_NB). Si le fichier est déjà verrouillé, cette option entraîne
une erreur.

bloquer Définit un verrou bloquant sur le fichier. Utilise le mécanisme setlk ou flock selon
disponibilité sur la plate-forme en question. Si les deux sont disponibles, la variante POSIX
(setlkw) est utilisé.

utilisateur =
Définit le (propriétaire) du ruisseau. Si l'adresse est membre du NAMED
groupe d'options, socat utilise l'appel système chown() après l'ouverture du fichier ou la liaison
au socket de domaine UNIX (condition de concurrence !). Sans entrée de système de fichiers, socat ensembles
l'utilisateur du flux à l'aide de l'appel système fchown(). Ces appels peuvent nécessiter
privilège root.

utilisateur-tard=
Définit le propriétaire du fd à avec l'appel système fchown() après ouverture ou
connecter le canal. Ceci n'est utile que sur les entrées du système de fichiers.

groupe=
Définit le du ruisseau. Si l'adresse est membre de l'option NAMED
groupe, socat utilise l'appel système chown() après l'ouverture du fichier ou la liaison au
Socket de domaine UNIX (condition de concurrence !). Sans entrée de système de fichiers, socat définit le
groupe du flux avec l'appel système fchown(). Ces appels peuvent nécessiter un groupe
adhésion ou privilège root.

groupe-tard=
Définit le groupe du fd sur avec l'appel système fchown() après ouverture ou
connecter le canal. Ceci n'est utile que sur les entrées du système de fichiers.

mode=
Définit le [mode_t] (autorisations) du flux. Si l'adresse est membre de
le groupe d'options NAMED et utilise l'appel open() ou creat(), le mode est appliqué
avec ces. Si l'adresse est membre du groupe d'options NAMED sans utiliser ces
appels système, socat utilise l'appel système chmod() après avoir ouvert l'entrée du système de fichiers
ou liaison au socket de domaine UNIX (condition de concurrence !). Autrement, socat définit le
mode du flux en utilisant fchmod() . Ces appels peuvent nécessiter la propriété ou la racine
privilège.

perm-tard=
Définit les autorisations du fd à la valeur [mode_t] en utilisant le système fchmod()
appel après l'ouverture ou la connexion du canal. Ceci n'est utile que sur le système de fichiers
entrées.

ajouter=
Écrit toujours les données à la fin réelle du fichier. Si l'adresse est membre de l'OPEN
groupe d'options, socat utilise le drapeau O_APPEND avec l'appel système open() (exemple).
Dans le cas contraire, socat applique l'appel fcntl(fd, F_SETFL, O_APPEND).

non bloquant =
Tente d'ouvrir ou d'utiliser le fichier en mode non bloquant. Ses seuls effets sont que le
connect() des adresses TCP ne bloque pas, et que l'ouverture d'un tube nommé pour
la lecture ne bloque pas. Si l'adresse est membre du groupe d'options OUVERT, socat
utilise le drapeau O_NONBLOCK avec l'appel système open(). Autrement, socat applique le
appel fcntl(fd, F_SETFL, O_NONBLOCK).

binaire Ouvre le fichier en mode binaire pour éviter les conversions implicites de fin de ligne
(Cywin).

texte Ouvre le fichier en mode texte pour forcer les conversions de terminaison de ligne implicite (Cygwin).

aucun héritage
Ne garde pas ce fichier ouvert dans un processus généré (Cygwin).

cool-écrire
Facilite les échecs d'écriture avec EPIPE ou ECONNRESET et enregistre le message avec
avis niveau au lieu de erreur. Cela empêche le fichier journal d'être rempli avec
messages d'erreur inutiles lorsque socat est utilisé comme serveur ou proxy à haut volume où
les clients interrompent souvent la connexion.
Cette option est expérimentale.

fin-fermeture
Modifie la méthode (dépendante de l'adresse) de fin d'une connexion pour simplement fermer le
descripteurs de fichiers. Ceci est utile lorsque la connexion doit être réutilisée ou partagée
avec d'autres processus (exemple).
Normalement, les connexions socket se terminent par shutdown(2) qui met fin au
socket même s'il est partagé par plusieurs processus. close(2) "déconnecte" la prise
du processus mais le maintient actif tant qu'il y a encore des liens d'autres
procédés.
De même, lorsqu'une adresse de type EXEC ou SYSTEM est terminée, socat
tuer explicitement le sous-processus. Avec cette option, il ne fera que fermer le fichier
descripteurs.

fermer-aucun
Modifie la méthode (dépendante de l'adresse) d'arrêt de la partie écriture d'un
connexion à ne rien faire.

arrêt
Modifie la méthode (dépendante de l'adresse) d'arrêt de la partie écriture d'un
connexion à shutdown\(fd, SHUT_WR). N'est utile qu'avec les sockets.

fermer
Modifie la méthode (dépendante de l'adresse) d'arrêt de la partie écriture d'un
connexion à fermer\(fd).

nul
Lorsqu'une adresse indique EOF, socat enverra un paquet de taille zéro à l'écriture
canal de l'autre adresse pour transférer la condition EOF. C'est utile avec UDP
et d'autres protocoles de datagramme. A été testé contre netcat et socat avec option
nul-eof.

nul-eof
Normalement socat ignorera les paquets vides (charge utile de taille nulle) arrivant sur le datagramme
sockets, de sorte qu'il survit aux analyses de ports. Avec cette option socat interprète vide
paquets de datagrammes comme indicateur EOF (voir shutdown-null).

ioctl-void=
Appelle ioctl() avec la valeur de la requête comme deuxième argument et NULL comme troisième argument.
Cette option permet d'utiliser des ioctls qui ne sont pas explicitement implémentés dans socat.

ioctl-int= :
Appelle ioctl() avec la valeur de la requête comme deuxième argument et la valeur entière comme
troisième argument.

ioctl-intp= :
Appelle ioctl() avec la valeur de la requête comme deuxième argument et un pointeur vers le
valeur entière comme troisième argument.

ioctl-bin= :
Appelle ioctl() avec la valeur de la requête comme deuxième argument et un pointeur vers le donné
valeur de données comme troisième argument. Ces données doivent être spécifiées dans former.

chaîne-ioctl= :
Appelle ioctl() avec la valeur de la requête comme deuxième argument et un pointeur vers le donné
chaîne comme troisième argument. former.

NOMMÉ option groupe

Ces options fonctionnent sur les entrées du système de fichiers.
Voir aussi les options utilisateur, groupe et mode.

user-early=
Modifie le (propriétaire) de l'entrée du système de fichiers avant d'y accéder, en utilisant le
appel système chown(). Cet appel peut nécessiter le privilège root.

groupe-tôt=
Modifie le de l'entrée du système de fichiers avant d'y accéder, en utilisant le chown()
appel système. Cet appel peut nécessiter une appartenance à un groupe ou un privilège root.

perm-tôt=
Modifie le [mode_t] de l'entrée du système de fichiers avant d'y accéder, en utilisant le
appel système chmod(). Cet appel peut nécessiter une propriété ou un privilège root.

umask=
Définit l'umask du processus sur [mode_t] avant d'accéder au système de fichiers
(utile avec les sockets de domaine UNIX !). Cet appel pourrait affecter tous les autres
opérations de la socat traiter!

dissocier tôt
Dissocie (supprime) le fichier avant de l'ouvrir et même avant d'appliquer l'utilisateur tôt
et ainsi de suite

dissocier Dissocie (supprime) le fichier avant d'y accéder, mais après le début de l'utilisateur, etc.

dissocier tardivement
Dissocie (supprime) le fichier après l'avoir ouvert pour le rendre inaccessible aux autres
processus après une courte condition de course.

dissocier-fermer
Supprime l'entrée du système de fichiers d'adresses lors de la fermeture de l'adresse. Pour les tuyaux nommés,
écoute des sockets de domaine unix, et les liens symboliques des adresses pty, la valeur par défaut
est 1 ; pour les fichiers créés, les fichiers ouverts, les fichiers ouverts génériques et le domaine client unix
sockets, la valeur par défaut est 0.

OUVERT option groupe

Les options du groupe OPEN permettent de définir des drapeaux avec l'appel système open(). ex., option
`creat' définit l'indicateur O_CREAT.
Voir aussi les options append et nonblock.

créer=
Crée le fichier s'il n'existe pas (exemple).

dsync=
Bloque les appels write() jusqu'à ce que les métainfos soient physiquement écrites sur le support.

exclu=
Avec l'option creat, si le fichier existe, il s'agit d'une erreur.

grandfichier=
Sur les systèmes 32 bits, autorise un fichier de plus de 2^31 octets.

pas d'heure
Définit les options O_NOATIME, de sorte que les lectures ne modifient pas l'horodatage d'accès.

nocty=
Ne fait pas de ce fichier le terminal de contrôle.

nofollow=
Ne suit pas les liens symboliques.

npartage=
Ne permet pas de partager ce fichier avec d'autres processus.

rshare=
Ne permet pas à d'autres processus d'ouvrir ce fichier en écriture.

rsync=
Bloque l'écriture () jusqu'à ce que les métainfos soient physiquement écrites sur le support.

synchronisation=
Bloque l'écriture () jusqu'à ce que les données soient physiquement écrites sur le support.

rdonly=
Ouvre le fichier en lecture seule.

à tort =
Ouvre le fichier en écriture uniquement.

tronc Tronque le fichier à la taille 0 lors de son ouverture.

REG ainsi que BLK option groupe

Ces options sont généralement appliquées à un descripteur de fichier UN*X, mais leur sémantique rend
sens uniquement sur un fichier prenant en charge l'accès aléatoire.

chercher =
Applique le lseek(fd, , SEEK_SET) (ou lseek64 ) appel système, donc
positionner le pointeur de fichier absolument sur [off_t ou off64_t]. Veuillez noter
qu'une valeur manquante est par défaut 1, pas 0.

chercher-cur=
Applique le lseek(fd, , SEEK_CUR) (ou lseek64 ) appel système, donc
positionnement du pointeur de fichier [off_t ou off64_t] octets par rapport à son
position actuelle (qui est généralement 0). Veuillez noter qu'une valeur manquante est par défaut
1, pas 0.

chercher-fin=
Applique le lseek(fd, , SEEK_END) (ou lseek64 ) appel système, donc
positionnement du pointeur de fichier [off_t ou off64_t] octets par rapport au
fin des fichiers en cours. Veuillez noter qu'une valeur manquante est par défaut 1, pas 0.

ftruncate=
Applique le ftruncate(fd, ) (ou ftruncate64 si disponible) appel système, ainsi
tronquer le fichier à la position [off_t ou off64_t]. Veuillez noter qu'un
la valeur manquante est par défaut 1, pas 0.

secrm=

unrm=

comp=

ext2-sync=

immuable=

ext2-append=

nodump=

ext2-noatime=

données-journal=

notal=

synchronisation d'annuaire=
Ces options modifient les attributs de fichier non standard sur les systèmes d'exploitation et les fichiers
les systèmes qui prennent en charge ces fonctionnalités, comme Linux avec ext2fs, ext3fs ou reiserfs.
Voir man 1 chattr pour plus d'informations sur ces options. Veuillez noter qu'il peut y avoir
une condition de concurrence entre la création du fichier et l'application de ces options.

PROCESSUS option groupe

Les options de ce groupe modifient les propriétés du processus au lieu de n'affecter qu'une seule donnée
canaliser. Pour les adresses EXEC et SYSTEM et pour les adresses de type LISTEN et CONNECT avec
option FORK, ces options s'appliquent aux processus enfants au lieu du processus socat principal.

chroot=
Effectue une opération chroot() pour après traitement de l'adresse
(Exemple). Cet appel peut nécessiter le privilège root.

chroot-early=
Effectue une opération chroot() pour avant d'ouvrir l'adresse. Cet appel
peut nécessiter le privilège root.

setgid=
Change le primaire du processus après le traitement de l'adresse. Cet appel
peut nécessiter le privilège root. Veuillez noter que cette option ne supprime pas les autres
privilèges liés au groupe.

setgid-early=
Comme setgit mais est exécuté avant d'ouvrir l'adresse.

setuid=
Modifie le (propriétaire) du processus après le traitement de l'adresse. Cet appel
peut nécessiter le privilège root. Veuillez noter que cette option ne supprime pas le groupe
privilèges associés. Vérifiez si l'option su correspond mieux à vos besoins.

setuid-early=
Comme setuid mais est effectué avant d'ouvrir l'adresse.

su=
Modifie le (propriétaire) et les groupes du processus après traitement de l'adresse
(Exemple). Cet appel peut nécessiter le privilège root.

su-d=
Nom court pour substuser-delayed. Modifie le (propriétaire) et les groupes du
processus après le traitement de l'adresse (exemple). L'utilisateur et ses groupes sont
récupéré before un possible chroot() . Cet appel peut nécessiter le privilège root.

setpgid=
Rend le processus membre du groupe de processus spécifié . Si aucune valeur n'est
donné, ou si la valeur est 0 ou 1, le processus devient leader d'un nouveau processus
groupe.

setid Fait du processus le leader d'une nouvelle session (exemple).

LIRE LA LIGNE option groupe

En raison de restrictions de licence, la fonctionnalité readline est désactivée dans Debian (voir BOGUES).
Ces options s'appliquent au type d'adresse readline.

histoire=
Lit et écrit l'historique de/vers (Exemple).

pas d'invite
Depuis la version 1.4.0, socat par défaut essaie de déterminer une invite - c'est-à-dire
passé à l'appel readline - en mémorisant la dernière ligne incomplète du
sortir. Avec cette option, socat ne transmet pas d'invite à readline, il commence donc
édition de ligne dans la première colonne du terminal.

noécho=
Spécifie un modèle régulier pour une invite qui empêche la ligne d'entrée suivante
d'être affiché à l'écran et d'être ajouté à l'historique. L'invite
est défini comme le texte qui a été envoyé à l'adresse readline après le dernier
caractère de nouvelle ligne et avant qu'un caractère d'entrée ne soit tapé. Le motif est régulier
expression, par exemple "^[Pp]mot de passe:.*$" ou "([Uu]ser:|[Pp]mot de passe:)". Voir regex\(7)
pour les détails. (Exemple)

invite=
Passe la chaîne en tant qu'invite à la fonction readline. readline imprime cette invite
en parcourant l'histoire. Si cette chaîne correspond à une invite constante émise
par un programme interactif sur l'autre adresse socat, une apparence cohérente peut
être archivé.

INSCRIPTION option groupe

Ce groupe contient des options qui fonctionnent au niveau des données. Notez que ces options s'appliquent uniquement
aux données "brutes" transférées par socat, mais pas aux données de protocole utilisées par des adresses comme
PROCURATION.

cr Convertit le caractère de fin de ligne par défaut NL ('\n', 0x0a) en/de CR ('\r',
0x0d) lors de l'écriture/lecture sur ce canal.

crnl Convertit le caractère de fin de ligne par défaut NL ('\n', 0x0a) vers/depuis CRNL
("\r\n", 0x0d0a) lors de l'écriture/lecture sur ce canal (exemple). Remarque : socat
supprime simplement tous les caractères CR.

ignorer
Lorsque EOF se produit sur ce canal, socat l'ignore et essaie de lire plus de données (comme
"queue -f") (exemple).

octets de lecture=
socat ne lit que tant d'octets à partir de cette adresse (l'adresse ne fournit que tant d'octets
octets pour le transfert et prétend être à EOF par la suite). Doit être supérieur à 0.

fichier de verrouillage=
Si le fichier de verrouillage existe, se termine avec une erreur. Si le fichier de verrouillage n'existe pas, le crée et
continue, dissocie le fichier de verrouillage en quittant.

attente =
Si le fichier de verrouillage existe, attend qu'il disparaisse. Lorsque le fichier de verrouillage n'existe pas,
le crée et continue, dissocie le fichier de verrouillage en quittant.

échapper =
Spécifie le code numérique d'un caractère qui déclenche EOF sur le flux d'entrée. Ce
est utile avec un terminal en mode brut (exemple).

PRISE option groupe

Ces options sont destinées à toutes sortes de sockets, par exemple domaine IP ou UNIX. La plupart sont
appliqué avec un appel setsockopt().

lier =
Lie la socket à l'adresse de socket donnée à l'aide de l'appel système bind(). La forme
de dépend du domaine du socket : IP4 et IP6 autorisent la forme
[hostname|hostaddress][:(service|port)] (exemple), les sockets de domaine UNIX nécessitent
.

connect-timeout=
Abandonner la tentative de connexion après [timeval] avec l'état d'erreur.

so-bindtodevice=
Lie le socket au donné . Cette option peut nécessiter un root
privilège.

diffusion
Pour les sockets datagramme, permet d'envoyer des adresses de diffusion et de recevoir des paquets
adressées aux adresses de diffusion.

déboguer Active le débogage de socket.

ne route pas
Ne communique qu'avec les pairs directement connectés, n'utilise pas de routeurs.

rester en vie
Permet d'envoyer des keepalives sur le socket.

s'attarder =
Bloque shutdown () ou close () jusqu'à ce que les transferts de données soient terminés ou le donné
timeout [int] expiré.

oobinline
Place les données hors bande dans le flux de données d'entrée.

priorité=
Définit le protocole défini [ ] pour les paquets sortants.

rcvbuf=
Définit la taille du tampon de réception après l'appel socket() à [int]. Avec
sockets TCP, cette valeur correspond à la taille maximale de la fenêtre du socket.

rcvbuf-tard=
Définit la taille du tampon de réception lorsque le socket est déjà connecté à
[int]. Avec les sockets TCP, cette valeur correspond à la fenêtre maximale de la socket
Taille.

rcvlowat=
Spécifie le nombre minimum d'octets reçus [int] jusqu'à ce que la couche socket
transmettre les données mises en mémoire tampon à socat.

rcvtimeo=
Définit le délai de réception [timeval].

réutiliseraddr
Permet à d'autres sockets de se lier à une adresse même si des parties de celle-ci (par ex.
port) sont déjà utilisés par socat (Exemple).

sndbuf=
Définit la taille du tampon d'envoi après l'appel socket() à [int].

sndbuf-tard=
Définit la taille du tampon d'envoi lorsque le socket est connecté à [int].

sndlowat=
Spécifie le nombre minimum d'octets dans le tampon d'envoi jusqu'à ce que la couche socket
enverra les données à [int].

sndtimeo=
Définit le délai d'envoi en secondes [timeval].

pf=
Force l'utilisation de la version ou du protocole IP spécifié. peut être quelque chose
comme "ip4" ou "ip6". La valeur résultante est utilisée comme premier argument de la socket()
ou les appels socketpair(). Cette option affecte la résolution de l'adresse et le
syntaxe des options de liaison et de plage.

tapez=
Définit le type de socket, spécifié comme deuxième argument de socket() ou
socketpair() appelle, à [int]. La résolution d'adresse n'est pas affectée par cela
option. Sous Linux, 1 signifie socket orienté flux, 2 signifie socket datagramme, et
3 signifie prise brute.

prototype
Définit le protocole de la socket, spécifié comme troisième argument de la socket() ou
socketpair() appelle, à [int]. La résolution d'adresse n'est pas affectée par
cette option. 6 signifie TCP, 17 signifie UDP.

horodatage
Définit l'option de socket SO_TIMESTAMP. Cela permet de recevoir et d'enregistrer
horodatage des messages auxiliaires.

setsockopt-int= : :
Appelle setsockopt() pour la socket avec les paramètres donnés. le niveau [int] est utilisé
comme deuxième argument de setsockopt() et spécifie la couche, par exemple SOL_TCP pour TCP (6
sous Linux), ou SOL_SOCKET pour la couche socket (1 sous Linux). optname [int] est le
troisième argument de setsockopt() et indique quelle option de socket doit être définie. Pour le
nombres réels, vous devrez peut-être rechercher les fichiers d'inclusion appropriés de votre
système. Le 4ème paramètre setsockopt(), la valeur [int], est passé à la fonction par
pointeur, et pour la longueur le paramètre sizeof\(int) est pris implicitement.

setsockopt-bin= : :
Comme setsockopt-int, mais doit être fourni au format dalan et spécifie un
séquence arbitraire d'octets ; le paramètre de longueur est automatiquement dérivé du
revendre.

setsockopt-string= : :
Comme setsockopt-int, mais doit être une chaîne. Cette chaîne est transmise au
fonction avec le caractère nul de fin, et le paramètre de longueur est automatiquement
dérivé des données.

UNIX option groupe

Ces options s'appliquent aux adresses basées sur le domaine UNIX.

unix-tightsocklen=[0|1]
Sur les opérations de socket, transmettez une longueur d'adresse de socket qui n'inclut pas l'intégralité
struct sockaddr_un record mais (en plus des autres composants) seule la partie pertinente de
le nom de fichier ou la chaîne abstraite. La valeur par défaut est 1.

IP4 ainsi que IP6 option groupes

Ces options peuvent être utilisées avec les sockets IPv4 et IPv6.

tos=
Définit le champ TOS (type de service) des paquets sortants sur [octet] (voir RFC
791).

ttl=
Définit le champ TTL (durée de vie) des paquets sortants sur [octet].

ip-options=
Définit les options IP comme le routage source. Doit être donné sous forme binaire, recommandé
format est un "x" de tête suivi d'un nombre pair de chiffres hexadécimaux. Cette option peut
être utilisé plusieurs fois, les données sont ajoutées. Par exemple, pour se connecter à l'hôte 10.0.0.1 via
une passerelle utilisant une route source lâche, utilisez la passerelle comme paramètre d'adresse et
définissez une route source lâche à l'aide de l'option ip-options=x8307040a000001 .
Les options IP sont définies dans la RFC 791.

mtudiscover=<0|1|2>
Prend 0, 1, 2 pour ne jamais, vouloir ou toujours utiliser le chemin MTU découvrir sur ce socket.

ip-pktinfo
Définit l'option de socket IP_PKTINFO. Cela permet de recevoir et d'enregistrer les
messages contenant l'adresse et l'interface de destination (Linux) (exemple).

ip-recverr
Définit l'option de socket IP_RECVERR. Cela permet de recevoir et d'enregistrer les
messages contenant des informations d'erreur détaillées.

ip-recvopts
Définit l'option de socket IP_RECVOPTS. Cela permet la réception et la journalisation de l'IP
options messages auxiliaires (Linux, *BSD).

ip-recvtos
Définit l'option de socket IP_RECVTOS. Cela permet la réception et la journalisation des TOS (type
de service) messages auxiliaires (Linux).

ip-recvttl
Définit l'option de socket IP_RECVTTL. Cela permet la réception et l'enregistrement de TTL (temps
pour vivre) messages auxiliaires (Linux, *BSD).

ip-recvdstaddr
Définit l'option de socket IP_RECVDSTADDR. Cela permet de recevoir et d'enregistrer
messages auxiliaires contenant l'adresse de destination (*BSD) (exemple).

ip-recvif
Définit l'option de socket IP_RECVIF. Cela permet la réception et la journalisation de l'interface
messages auxiliaires (*BSD) (exemple).

ip-add-membership=

ip-add-membership=

ip-add-membership=

ip-add-membership=

ip-add-membership=
Rend le socket membre du groupe de multidiffusion spécifié. C'est actuellement seulement
implémenté pour IPv4. L'option prend l'adresse IP du groupe multicast et
informations sur l'interface réseau souhaitée. La syntaxe la plus courante est la première,
tandis que les autres ne sont disponibles que sur les systèmes qui fournissent struct mreqn (Linux).
Les indices des interfaces réseau actives peuvent être affichés à l'aide de l'utilitaire procan.

ip-multidiffusion-if=
Spécifie le nom d'hôte ou l'adresse de l'interface réseau à utiliser pour la multidiffusion
circulation.

ip-multicast-loop=
Spécifie si le trafic de multidiffusion sortant doit revenir en boucle vers l'interface.

ip-multidiffusion-ttl=
Définit le TTL utilisé pour le trafic de multidiffusion sortant. La valeur par défaut est 1.

res-déboguer

res-aauniquement

res-usevc

res-primaire

res-igntc

re-récidive

res-defnames

Res-restez ouvert

res-dnsrch
Ces options définissent les drapeaux d'options de résolveur (résolution de nom) correspondants.
Ajoutez "=0" pour effacer une option par défaut. Voir man resolver\(5) pour plus d'informations sur
ces options. Remarque : ces options ne sont valables que pour l'adresse où elles sont appliquées
à.

IP6 option groupe

Ces options ne peuvent être utilisées que sur des sockets IPv6. Voir les options IP pour les options qui peuvent
être appliqué aux sockets IPv4 et IPv6.

ipv6seulement=
Définit l'option de socket IPV6_V6ONLY. Si 0, la pile TCP acceptera également
connexions utilisant le protocole IPv4 sur le même port. La valeur par défaut dépend du système.

ipv6-recvdstopts
Définit l'option de socket IPV6_RECVDSTOPTS. Cela permet de recevoir et d'enregistrer
messages auxiliaires contenant les options de destination.

ipv6-recvhoplimit
Définit l'option de socket IPV6_RECVHOPLIMIT. Cela permet de recevoir et d'enregistrer
messages auxiliaires contenant le hoplimit.

ipv6-recvhopopts
Définit l'option de socket IPV6_RECVHOPOPTS. Cela permet de recevoir et d'enregistrer
messages auxiliaires contenant les options de saut.

ipv6-recvpktinfo
Définit l'option de socket IPV6_RECVPKTINFO. Cela permet de recevoir et d'enregistrer
messages auxiliaires contenant l'adresse de destination et l'interface.

ipv6-unicast-hops=link(TYPE_INT)( )
Définit l'option de socket IPV6_UNICAST_HOPS. Cela définit la limite de nombre de sauts (TTL) pour
paquets unicast sortants.

ipv6-recvrthdr
Définit l'option de socket IPV6_RECVRTHDR. Cela permet de recevoir et d'enregistrer
messages auxiliaires contenant des informations de routage.

classe ipv6-t
Définit l'option de socket IPV6_TCLASS. Cela définit la classe de transfert de
paquets.

classe de réception ipv6
Définit l'option de socket IPV6_RECVTCLASS. Cela permet de recevoir et d'enregistrer
messages auxiliaires contenant la classe de transfert.

TCP option groupe

Ces options peuvent être appliquées aux sockets TCP. Ils fonctionnent en appelant setsockopt() avec le
paramètres appropriés.

liège N'envoie pas de paquets plus petits que MSS (taille maximale de segment).

différer-accepter
Pendant l'écoute, accepte les connexions uniquement lorsque les données de l'homologue sont arrivées.

gardercnt=
Définit le nombre de keepalives avant de fermer le socket à [int].

keepidle=
Définit le temps d'inactivité avant d'envoyer le premier keepalive à [int].

keepintvl=
Définit l'intervalle entre deux keepalives à [int].

s'attarder2=
Définit le temps de maintien du socket dans l'état FIN-WAIT-2 pour [int].

mss=
Définit le MSS (taille maximale du segment) après l'appel socket() à [int]. Cette
La valeur est alors proposée au pair avec le paquet SYN ou SYN/ACK (exemple).

mss-tard=
Définit le MSS du socket une fois la connexion établie sur [int].

sans délais
Désactive l'algorithme Nagle pour mesurer le RTT (temps d'aller-retour).

rfc1323
Active les options TCP RFC1323 : échelle de fenêtre TCP, mesure du temps aller-retour (RTTM),
et protéger contre les numéros de séquence enveloppés (PAWS) (AIX).

durg Active la gestion des pointeurs urgents (AIX) conforme à la RFC1122.

syncnt=
Définit le nombre maximal de retransmissions SYN pendant la connexion à [int].

md5sig Permet la génération de condensés MD5 sur les paquets (FreeBSD).

noop Désactive l'utilisation des options TCP (FreeBSD, MacOSX).

naïf définit l'option de socket TCP_NOPUSH (FreeBSD, MacOSX).

sac-désactiver
Désactive l'utilisation de la fonction de reconnaissance sélective (OpenBSD).

signature-activer
Permet la génération de condensés MD5 sur les paquets (OpenBSD).

abort-threshold=
Définit le temps d'attente d'une réponse du pair sur une connexion établie
(HP-UX).

conn-abort-threshold=
Définit le temps d'attente d'une réponse du serveur lors de la connexion initiale
(HP-UX).

garderinit
Définit le temps d'attente d'une réponse du serveur lors de la connexion\() avant de donner
en haut. Valeur en demi-secondes, la valeur par défaut est 150 (75s) (Tru64).

pattes Active la fonction « protection contre les numéros de séquence encapsulés » (Tru64).

sackena
Active l'acquittement sélectif (Tru64).

tsopténa
Active l'option d'horodatage qui permet le recalcul RTT sur les connexions existantes
(Tru64).

SCTP option groupe

Ces options peuvent être appliquées aux sockets de flux SCTP.

sctp-nodelay
Définit l'option de socket SCTP_NODELAY qui désactive l'algorithme Nagle.

sctp-maxseg=
Définit l'option de socket SCTP_MAXSEG sur [int]. Cette valeur est alors proposée
à l'homologue avec le paquet SYN ou SYN/ACK.

UDP, TCP, ainsi que SCTP option groupes

Ici, nous trouvons des options qui sont liées au mécanisme de port réseau et peuvent donc être utilisées
avec les adresses client et serveur UDP, TCP et SCTP.

portsource=
Pour les connexions TCP et UDP sortantes (clientes), il définit la source en utilisant un
appel supplémentaire bind(). Avec les adresses d'écoute TCP ou UDP, socat s'arrête immédiatement
la connexion si le client n'utilise pas ce port source (exemple).

port bas
Les connexions TCP et UDP sortantes (clientes) avec cette option utilisent un
port source entre 640 et 1023 incl. Sur les systèmes d'exploitation de classe UNIX, cette
nécessite le privilège root, et indique ainsi que le processus client est autorisé
par racine locale. Les adresses d'écoute TCP et UDP avec cette option s'arrêtent immédiatement
la connexion si le client n'utilise pas de port source <= 1023. Ce mécanisme peut
fournir une autorisation limitée dans certaines circonstances.

CHAUSSETTES option groupe

Lors de l'utilisation d'adresses de type SOCKS, certaines options spécifiques aux chaussettes peuvent être définies.

chaussettes= service>
Remplace le service "socks" par défaut ou le port 1080 pour le port du serveur Socks avec
.

chaussettesuser=
Envoie le [chaîne] dans le champ du nom d'utilisateur au serveur de chaussettes. La valeur par défaut est le
nom d'utilisateur réel ($LOGNAME ou $USER) (exemple).

HTTP option groupe

Options pouvant être fournies avec les adresses de type HTTP. La seule adresse HTTP actuellement
implémenté est proxy-connect.

port proxy= service>
Remplace le port proxy HTTP par défaut 8080 par .

ignorer
Le protocole HTTP nécessite l'utilisation de CR+NL comme terminaison de ligne. Lorsqu'un serveur proxy
viole cette norme, la socat pourrait ne pas comprendre sa réponse. Cette option dirige
socat pour interpréter NL comme fin de ligne et ignorer CR dans la réponse.
Néanmoins, socat envoie CR+NL au proxy.

proxyauth= :
Fournir une authentification "de base" au serveur proxy. L'argument de l'option est
utilisé avec un en-tête "Proxy-Authorization: Base" sous forme codée en base64.
Remarque : le nom d'utilisateur et le mot de passe sont visibles pour chaque utilisateur de la machine locale dans le
liste des processus; le nom d'utilisateur et le mot de passe sont transférés au serveur proxy en clair
(encodé en base64) et peut être reniflé.

résoudre
Par défaut, socat envoie au proxy une requête CONNECT contenant la cible
nom d'hôte. Avec cette option, socat résout le nom d'hôte localement et envoie l'IP
adresse. Veuillez noter que, selon RFC 2396, seule la résolution de noms en IPv4
adresses est implémentée.

GAMME option groupe

Ces options vérifient si un client connecté doit se voir accorder l'accès. Ils peuvent être appliqués
à l'écoute et à la réception des sockets réseau. Les options tcp-wrappers appartiennent à ce groupe.

plage =
Après avoir accepté une connexion, teste si l'homologue est dans gamme. Pour IPv4
adresses, la plage d'adresses prend la forme adresse/bits, par exemple 10.0.0.0/8, ou
adresse : masque, par exemple 10.0.0.0 : 255.0.0.0 (exemple) ; pour IPv6, c'est
[adresse ip6/bits], par exemple [::1/128]. Si l'adresse du client ne correspond pas, socat
émet un avertissement et continue d'écouter/recevoir.

tcpwrap[= ]
Utilise la bibliothèque libwrap (tcpd) de Wietse Venema pour déterminer si le client est autorisé
se connecter. Les fichiers de configuration sont /etc/hosts.allow ainsi que /etc/hosts.deny /
par défaut, voir "man 5 hosts_access" pour plus d'informations. L'optionnel (taper
string) est transmis aux fonctions wrapper en tant que nom de processus démon (exemple). Si
omis, le nom de base de l'invocation socats (argv[0]) est passé. Si les deux tcpwrap
et les options de plage sont appliquées à une adresse, les deux conditions doivent être remplies pour
autoriser la connexion.

table-autoriser=
Prend le fichier spécifié au lieu de /etc/hosts.allow.

deny-table=
Prend le fichier spécifié au lieu de /etc/hosts.deny.

tcpwrap-etc=
Recherche hosts.allow et hosts.deny dans le répertoire spécifié. est remplacé par
options hosts-allow et hosts-deny.

LISTEN option groupe

Options spécifiques aux sockets d'écoute.

arriéré =
Définit la valeur du backlog transmise avec l'appel système listen() à [int].
La valeur par défaut est 5.

max-enfants=
Limite le nombre de processus enfants simultanés [int]. La valeur par défaut n'est pas limitée.

ENFANT option groupe

Options pour les adresses avec plusieurs connexions via des processus enfants.

fourche Après avoir établi une connexion, gère son canal dans un processus enfant et conserve
le processus parent tentant de produire plus de connexions, soit en écoutant, soit en
en se connectant en boucle (exemple).
OPENSSL-CONNECT et OPENSSL-LISTEN diffèrent dans le moment où ils écartent réellement l'enfant :

Fourches OPENSSL-LISTEN before la poignée de main SSL, tandis que OPENSSLSSL-CONNECT fork
après. Les options RETRY et FOREVER ne sont pas héritées par le processus fils.
Sur certains systèmes d'exploitation (par exemple FreeBSD), cette option ne fonctionne pas pour UDP-LISTEN
Adresses.

EXEC option groupe

Options pour les adresses qui appellent un programme.

chemin=
Remplace la variable d'environnement PATH pour rechercher le programme avec .
Cette valeur $PATH est également efficace dans le processus enfant.

vous connecter Préfixe argv[0] pour l'appel execvp() avec '-', faisant ainsi se comporter un shell comme
shell de connexion.

FOURCHE option groupe

Les adresses EXEC ou SYSTEM appellent un programme à l'aide d'un processus enfant et transfèrent des données entre
socat et le programme. Le mécanisme de communication interprocessus peut être influencé par le
options suivantes. Par défaut, une socketpair() est créée et affectée à stdin et stdout
du processus fils, tandis que stderr est hérité du socat processus, et l'enfant
processus utilise les descripteurs de fichier 0 et 1 pour communiquer avec le processus socat principal.

pas de fourche Ne crée pas de sous-processus pour exécuter le programme, appelle à la place execvp\() ou
system\() directement à partir de l'instance socat réelle. Cela évite les frais généraux de
un autre processus entre le programme et son homologue, mais introduit beaucoup de
restrictions :

o cette option ne peut être appliquée qu'au deuxième socat adresse.

o il ne peut pas être appliqué à une partie d'une double adresse.

o la première adresse socat ne peut pas être OPENSSL ou READLINE

o les options socat -b, -t, -D, -l, -v, -x deviennent inutiles

o pour les deux adresses, les options ignoreeof, cr et crnl deviennent inutiles

o pour la deuxième adresse (celle avec l'option nofork), options append, cloexec,
flock, user, group, mode, nonblock, perm-late, setlk et setpgid ne peuvent pas être
appliqué. Certains d'entre eux pourraient cependant être utilisés sur la première adresse.

tuyaux Crée une paire de canaux sans nom pour la communication interprocessus au lieu d'un socket
paire.

ouvert
Établit la communication avec le sous-processus à l'aide d'un pseudo-terminal créé avec
openpty() au lieu de la valeur par défaut (socketpair ou ptmx).

ptmx Établit la communication avec le sous-processus à l'aide d'un pseudo-terminal créé par
ouverture /dev/ptmx or /dev/ptc au lieu de la valeur par défaut (socketpair).

pty Établit la communication avec le sous-processus en utilisant un pseudo-terminal au lieu d'un
paire de prises. Crée le pty avec un mécanisme disponible. Si openpty et ptmx sont
tous deux disponibles, il utilise ptmx car il est conforme à POSIX (exemple).

ctty Fait du pty le tty de contrôle du sous-processus (exemple).

stderr Dirige stderr du sous-processus vers son canal de sortie en faisant de stderr un dup() de
sortie standard (exemple).

fdin=
Attribue le canal d'entrée des sous-processus à son descripteur de fichier à la place de
standard (0). Le programme démarré à partir du sous-processus doit utiliser ce fd pour lire
les données de socat (Exemple).

fdout=
Attribue le canal de sortie des sous-processus à son descripteur de fichier à la place de
sortie standard (1). Le programme démarré à partir du sous-processus doit utiliser ce fd pour écrire
données à socat (Exemple).

soupir, signer, quitter
A socat transmettre des signaux de ce type au sous-processus. Si aucune adresse n'a cette
option, socat se termine sur ces signaux.

TERMES option groupe

Pour les adresses qui fonctionnent sur un tty (par exemple, stdio, file:/dev/tty, exec:...,pty), le terminal
les paramètres définis dans le mécanisme termios UN*X sont mis à disposition en tant qu'option d'adresse
paramètres. Veuillez noter que les modifications des paramètres de votre borne interactive
restent efficaces après socat's, vous devrez peut-être entrer "reset" ou "stty
sane" dans votre shell par la suite. Pour les adresses EXEC et SYSTEM avec l'option PTY, ces
les options s'appliquent au pty par les processus enfants.

b0 Déconnecte le terminal.

b19200 Règle la vitesse de la ligne série sur 19200 XNUMX bauds. Certains autres tarifs sont possibles; utilisation
quelque chose comme socat -hh |grep ' b[1-9]' pour trouver toutes les vitesses prises en charge par votre
la mise en œuvre.
Remarque : sur certains systèmes d'exploitation, ces options peuvent ne pas être disponibles. Utilisez ispeed ou
ospeed à la place.

écho=
Active ou désactive l'écho local.

icône=
Définit ou efface le mode canonique, activant la mise en mémoire tampon de ligne et certains caractères spéciaux.

brut Définit le mode brut, passant ainsi l'entrée et la sortie presque sans traitement. Cette option est
obsolète, utilisez plutôt l'option rawer ou cfmakeraw.

plus brut Rend le terminal plus brut que l'option brute. Cette option désactive implicitement l'écho.
(Exemple).

cfmakeraw
Définit le mode brut en appelant cfmakeraw() ou en simulant cet appel. Cette option
désactive implicitement l'écho.

ignbrk=
Ignore ou interprète le caractère BREAK (par exemple, ^C)

brkint=

bs0

bs1

bsdly=<0|1>

clocal=

cr0
cr1
cr2
cr3

Définit le délai de retour chariot sur 0, 1, 2 ou 3, respectivement. 0 signifie pas de retard,
les autres valeurs dépendent du terminal.

crdly=<0|1|2|3>

cread=

crtscts=

cs5
cs6
cs7
cs8

Définit la taille des caractères sur 5, 6, 7 ou 8 bits, respectivement.

csize=<0|1|2|3>

cstopb=
Définit deux bits d'arrêt au lieu d'un.

dsusp=
Définit la valeur du caractère VDSUSP qui suspend le premier plan actuel
processus et réactive le shell (tous sauf Linux).

echoctl=
Les échos contrôlent les caractères en notation chapeau (par exemple ^A)

echoe=

echok=

echoke=

echonl=

echoprt=

eof=

eol=

eol2=

effacer=

rejeter =

ff0

ff1

ffdly=

chasse d'eau =

hupcl=

icrnl=

iexten=

igncr=

ignpar=

imaxbel=

inlcr=

inpck=

intr=

isig=

ispeed=
Définissez le débit en bauds pour les données entrantes sur cette ligne.
Voir aussi : ospeed, b19200

istrip=

iucclc=

ixany=

ixoff=

ixon=

tuer =

suivant=

min=

nl0 Définit le délai de retour à la ligne sur 0.

nl1

nldly=

noflsh=

ocrnl=

ofdel=

ofill=

olcuc=

onlcr=

onlret=

onocr=

opost=
Active ou désactive le traitement des sorties ; par exemple, convertit NL en CR-NL.

ospeed=
Réglez le débit en bauds pour les données sortantes sur cette ligne.
Voir aussi : ispeed, b19200

parenb=
Activez la génération de parité sur la sortie et le contrôle de parité pour l'entrée.

parmrk=

parodd=

pendin=

quitter =

réimpression =

sain Amène le terminal à quelque chose comme un état par défaut utile.

début =

arrêter =

susp=

swtc=

tab0

tab1

tab2

tab3

tabdly=

temps =

arrêter=

vt0

vt1

vtdly=

werase=

xcas=

xtabs

je-pop-tout
Avec UNIX System V STREAMS, supprime tous les pilotes de la pile.

i-push=
Avec UNIX System V STREAMS, pousse le pilote (module) avec le nom donné (chaîne)
sur la pile. Par exemple, pour s'assurer qu'un périphérique de caractères sur Solaris
prend en charge termios, etc., utilisez les options suivantes :
i-pop-all,i-push=ptem,i-push=ldterm,i-push=ttcompat

PTY option groupe

Ces options sont destinées à être utilisées avec le type d'adresse pty.

lien=
Génère un lien symbolique qui pointe vers le pseudo-terminal réel (pty). Cette
pourrait aider à résoudre le problème que les ptys sont générés avec plus ou moins
noms imprévisibles, ce qui rend difficile l'accès direct au pty généré par socat
automatiquement. Avec cette option, l'utilisateur peut spécifier un point "fixe" dans le fichier
hiérarchie qui l'aide à accéder au pty réel (exemple). Commençant par socat
version 1.4.3, le lien symbolique est supprimé à la fermeture de l'adresse (mais voir
option dissocier-fermer).

attendre-esclave
Bloque la phase d'ouverture jusqu'à ce qu'un processus ouvre le côté esclave du pty. D'habitude,
socat continue après avoir généré le pty avec l'ouverture de l'adresse suivante ou avec
entrant dans la boucle de transfert. Avec l'option wait-slave, socat attend que certains
Le processus ouvre le côté esclave du pty avant de continuer. Cette option ne fonctionne que
si le système d'exploitation fournit l'appel système poll(). Et cela dépend d'un
comportement non documenté des pty, il ne fonctionne donc pas sur tous les systèmes d'exploitation. Ce
a été testé avec succès sur Linux, FreeBSD, NetBSD et sur Tru64 avec openpty.

intervalle-pty=
Lorsque l'option wait-slave est définie, socat vérifie périodiquement la condition HUP
en utilisant poll() pour trouver si le côté esclave du pty a été ouvert. Le sondage par défaut
l'intervalle est de 1s. Utilisez l'option pty-interval [timeval] pour modifier cette valeur.

OPENSSL option groupe

Ces options s'appliquent aux types d'adresse openssl et openssl-listen.

chiffre=
Sélectionne la liste des chiffrements pouvant être utilisés pour la connexion. Voir la page de manuel
de chiffrements , section CIPHER LISTE Format, pour des informations détaillées sur la syntaxe,
valeurs, et par défaut de .
Plusieurs chaînes de chiffrement peuvent être données, séparées par ':'. Quelques chaînes de chiffrement simples :

3DES Utilise une suite de chiffrement avec triple DES.

MD5 Utilise une suite de chiffrement avec MD5.

aNULL Utilise une suite de chiffrement sans authentification.

NULL N'utilise pas le cryptage.

ÉLEVÉ Utilise une suite de chiffrement avec un cryptage « élevé ». Notez que le pair doit prendre en charge le
propriété sélectionnée, ou la négociation échouera.

méthode=
Définit la version du protocole à utiliser. Les chaînes valides (non sensibles à la casse) sont :

SSL2 Sélectionnez le protocole SSL version 2.

SSL3 Sélectionnez le protocole SSL version 3.

SSL23 Sélectionnez le meilleur protocole SSL ou TLS disponible. C'est la valeur par défaut lorsque cette option
n'est pas fourni.

TLS1 Sélectionnez la version 1 du protocole TLS.

TLS1.1 Sélectionnez la version 1.1 du protocole TLS.

TLS1.2 Sélectionnez la version 1.2 du protocole TLS.

DTLS1 Sélectionnez le protocole DTLS version 1.

vérifier=
Contrôle la vérification du certificat du pair. La valeur par défaut est 1 (vrai). Désactiver la vérification
pourrait ouvrir votre socket pour tout le monde, rendant le cryptage inutile !

cert=
Spécifie le fichier avec le certificat et la clé privée pour l'authentification. Les
le certificat doit être au format OpenSSL (*.pem). Avec openssl-listen, l'utilisation de ce
option est fortement recommandée. Sauf avec le chiffrement aNULL, erreur "pas de chiffrement partagé"
se produira lorsqu'aucun certificat n'est délivré.

clé=
Spécifie le fichier avec la clé privée. La clé privée peut être dans ce fichier ou dans
le fichier fourni avec l'option cert. La partie qui doit prouver qu'elle est la
propriétaire d'un certificat a besoin de la clé privée.

dhparams=
Spécifie le fichier avec les paramètres Diffie Hellman. Ces paramètres peuvent également être
dans le fichier fourni avec l'option cert auquel cas l'option dhparams n'est pas
nécessaire.

cafile=
Spécifie le fichier avec les certificats d'autorité de confiance (racine). Le fichier doit être
au format PEM et doit contenir un ou plusieurs certificats. La partie qui vérifie
l'authentification de son homologue ne fait confiance qu'aux certificats qui se trouvent dans ce fichier.

capath=
Spécifie le répertoire avec les certificats de confiance (racine). Le répertoire doit
contiennent des certificats au format PEM et leurs hachages (voir la documentation OpenSSL)

egd=
Sur certains systèmes, openssl nécessite une source explicite de données aléatoires. Spécifie le
nom de socket où un démon de collecte d'entropie comme egd fournit des données aléatoires, par exemple
/dev/egd-pool.

pseudo Sur les systèmes où openssl ne peut pas trouver de source d'entropie et où aucune entropie
démon de collecte peut être utilisé, cette option active un mécanisme pour fournir
pseudo-entropie. Ceci est obtenu en prenant l'heure actuelle en microsecondes pour
alimenter le générateur de nombres pseudo-aléatoires libc avec une valeur initiale. openssl est
puis alimenté par la sortie des appels aléatoires\().
REMARQUE : ce mécanisme n'est pas suffisant pour la génération de clés sécurisées !

compresser
Activez ou désactivez l'utilisation de la compression pour une connexion. Mettre ceci à "aucun"
désactive la compression, le régler sur "auto" permet à OpenSSL de choisir le meilleur disponible
algorithme pris en charge par les deux parties. La valeur par défaut est de ne toucher à aucun
paramètres liés à la compression. REMARQUE : Nécessite OpenSSL 0.9.8 ou supérieur et la désactivation
la compression avec OpenSSL 0.9.8 affecte toutes les nouvelles connexions dans le processus.

nom commun=
Spécifiez le nom commun auquel le certificat homologue doit correspondre. Avec OPENSSL-CONNECT
adresse cela remplace le nom d'hôte ou l'adresse IP cible ; avec OPENSSL-LISTEN
cela active la vérification du nom commun des certificats homologues. Cette option n'a de sens que
lorsque l'option vérifier n'est pas désactivée et que le chiffrement choisi fournit un homologue
certificat.

fips Active le mode FIPS s'il est compilé. Pour plus d'informations sur la mise en œuvre du cryptage FIPS
norme voir http://oss-institute.org/fips-faq.html. Ce mode peut nécessiter que
les certificats impliqués sont générés avec une version compatible FIPS d'openssl.
La définition ou la suppression de cette option sur une adresse socat affecte toutes les adresses OpenSSL
de ce processus.

NOUVEL ESSAI option groupe

Options qui contrôlent les nouvelles tentatives de certains appels système, en particulier les tentatives de connexion.

réessayer =
Nombre de tentatives avant que la connexion ou la tentative d'écoute ne soit abandonnée. La valeur par défaut est
0, ce qui signifie une seule tentative.

intervalle =
Temps entre les tentatives consécutives (secondes, [timespec]). La valeur par défaut est 1 seconde.

toujours
Effectue un nombre illimité de nouvelles tentatives.

TUN option groupe

Options qui contrôlent les adresses de périphérique d'interface Linux TUN/TAP.

tun-device=
Demande à socat de prendre un autre chemin pour le périphérique clone TUN. La valeur par défaut est
/dev/net/tun.

nom-tun=
Donne à l'interface réseau résultante un nom spécifique au lieu du système
généré (tun0, tun1, etc.)

tun-type=[tun|appuyez]
Définit le type du périphérique TUN ; utilisez cette option pour générer un périphérique TAP. Voir le
Document Linux pour la différence entre ces types. Lorsque vous essayez d'établir un
tunnel entre deux appareils TUN, leurs types doivent être les mêmes.

ssi-pas-pi
Définit l'indicateur IFF_NO_PI qui contrôle si le périphérique inclut un paquet supplémentaire
informations dans le tunnel. Lorsque vous essayez d'établir un tunnel entre deux TUN
périphériques, ces indicateurs doivent avoir les mêmes valeurs.

iff-up Règle l'état de l'interface réseau TUN sur UP. Vivement recommandé.

iff-diffusion
Définit l'indicateur BROADCAST de l'interface réseau TUN.

iff-débogage
Définit l'indicateur DEBUG de l'interface réseau TUN.

iff-bouclage
Définit l'indicateur LOOPBACK de l'interface réseau TUN.

iff-pointo
Définit le drapeau POINTOPOINT du périphérique TUN.

iff-notremorques
Définit le drapeau NOTRAILERS du périphérique TUN.

iff en cours d'exécution
Définit l'indicateur RUNNING du périphérique TUN.

si-noarp
Définit le drapeau NOARP du périphérique TUN.

si-promesse
Définit le drapeau PROMISC du périphérique TUN.

iff-toutmulti
Définit le drapeau ALLMULTI du périphérique TUN.

iff-maître
Définit le drapeau MASTER du périphérique TUN.

iff-esclave
Définit le drapeau ESCLAVE du périphérique TUN.

iff-multidiffusion
Définit le drapeau MULTICAST du périphérique TUN.

iff-portsel
Définit le drapeau PORTSEL du périphérique TUN.

iff-automedia
Définit le drapeau AUTOMEDIA du périphérique TUN.

iff-dynamique
Définit le drapeau DYNAMIC du périphérique TUN.

DONNEES VALEURS


Cette section explique les différents types de données qui traitent des paramètres et des options d'adresse
peut prendre.

plage d'adresses
N'est actuellement implémenté que pour IPv4 et IPv6. Voir l'option d'adresse « plage »

booléen "0" ou "1" ; si la valeur est omise, "1" est pris.

byte Un nombre entier non signé, lu avec strtoul() , inférieur ou égal à UCHAR_MAX .

de ligne de commande
Une chaîne spécifiant un nom de programme et ses arguments, séparés par des espaces simples.

data Une spécification de données brutes suivant branche syntaxe. Actuellement, le seul formulaire valide est un
chaîne commençant par 'x' suivi d'un nombre pair de chiffres hexadécimaux, spécifiant un
séquence d'octets.

annuaire
Une chaîne avec la sémantique habituelle des noms de répertoire UN*X.

facilité
Le nom d'une fonction syslog en caractères minuscules.

fdnum Un type int non signé, lu avec strtoul() , spécifiant un descripteur de fichier UN*X.

nom de fichier
Une chaîne avec la sémantique habituelle des noms de fichiers UN*X.

group Si le premier caractère est un chiffre décimal, la valeur est lue avec strtoul() comme
entier non signé spécifiant un identifiant de groupe. Sinon, il doit s'agir d'un groupe existant
nom.

int Un nombre suivant les règles de la fonction strtol() avec la base "0", c'est à dire décimal
nombre, nombre octal avec "0" en tête, ou nombre hexadécimal avec "0x" en tête. Les
la valeur doit tenir dans un C int.

interface
Une chaîne spécifiant le nom de périphérique d'une interface réseau comme indiqué par ifconfig ou
procan, par exemple "eth0".

adresse IP
Une adresse IPv4 en notation chiffres-et-points, une adresse IPv6 en notation hexadécimale
entre crochets, ou un nom d'hôte qui se résout en une adresse IPv4 ou IPv6.
Exemples : 127.0.0.1, [::1], www.dest-unreach.org, dns1

Adresse IPv4
Une adresse IPv4 en notation de nombres et de points ou un nom d'hôte qui se résout en IPv4
adresse.
Exemples : 127.0.0.1, www.dest-unreach.org, dns2

Adresse IPv6
Une adresse IPv6 en notation hexadécimale et deux-points entre crochets, ou un
nom d'hôte qui se résout en une adresse IPv6.
Examples: [::1], [1234:5678:9abc:def0:1234:5678:9abc:def0], ip6name.domain.org

long Un nombre lu avec strtol() . La valeur doit tenir dans un C long.

longue longue
Un nombre lu avec strtoll() . La valeur doit tenir dans un C long long.

off_t Un nombre signé dépendant de l'implémentation, généralement 32 bits, lu avec strtol ou
marche.

off64_t
Un nombre signé dépendant de l'implémentation, généralement 64 bits, lu avec strtol ou
marche.

mode_t Un entier non signé, lu avec strtoul() , spécifiant les bits de mode (autorisation).

pid_t Un nombre, lu avec strtol() , spécifiant un identifiant de processus.

port A uint16_t (nombre non signé 16 bits) spécifiant un port TCP ou UDP, lu avec
strtoul() .

protocole
Un nombre 8 bits non signé, lu avec strtoul() .

size_t Un nombre non signé avec les limitations de size_t, lu avec strtoul .

nom de chaussette
Une adresse de socket. Voir l'option d'adresse 'bind'

chaîne Une séquence de caractères, ne contenant pas '\0' et, selon la position dans
la ligne de commande, ':', ',' ou "!!". Notez que vous devrez peut-être échapper à la méta du shell
caractères dans la ligne de commande.

Service TCP
Un nom de service, ne commençant pas par un chiffre, qui est résolu par getservbyname() , ou
un nombre entier non signé de 16 bits lu avec strtoul() .

intervalle de temps
Un double flottant spécifiant les secondes ; le nombre est mappé dans une struct timeval,
composé de secondes et de microsecondes.

heure
Un double flottant spécifiant les secondes ; le nombre est mappé dans une struct timespec,
composé de secondes et de nanosecondes.

Service UDP
Un nom de service, ne commençant pas par un chiffre, qui est résolu par getservbyname() , ou
un nombre entier non signé de 16 bits lu avec strtoul() .

entier non signé
Un nombre lu avec strtoul() . La valeur doit tenir dans un int non signé C.

user Si le premier caractère est un chiffre décimal, la valeur est lue avec strtoul() comme
entier non signé spécifiant un identifiant utilisateur. Sinon, il doit s'agir d'un nom d'utilisateur existant.

EXEMPLES


socat - TCP4 :www.domain.org :80

transfère les données entre STDIO (-) et une connexion TCP4 vers le port 80 de l'hôte
www.domaine.org. Cet exemple aboutit à une connexion interactive similaire à telnet
ou netcat. Les paramètres du terminal stdin ne sont pas modifiés, vous pouvez donc fermer le
relayez-le avec ^D ou annulez-le avec ^C.

socat -d -d READLINE,history=$HOME/.http_history \
TCP4 : www.domain.org : www,crnl

ceci est similaire à l'exemple précédent, mais vous pouvez modifier la ligne actuelle dans un
bash comme manière (READLINE) et utilisez le fichier historique .http_history; socat impressions
messages sur la progression (-d -d). Le port est spécifié par le nom du service (www), et
les caractères de terminaison de ligne de réseau corrects (crnl) au lieu de NL sont utilisés.

socat TCP4-LISTEN : www TCP4:www.domaine.org:www

installe un simple redirecteur de port TCP. Avec TCP4-LISTEN, il écoute sur le port local
"www" jusqu'à ce qu'une connexion arrive, l'accepte, puis se connecte à l'hôte distant
(TCP4) et démarre le transfert de données. Il n'acceptera pas une deuxième connexion.

socat -d -d -lmlocal2 \
TCP4-LISTEN:80,bind=myaddr1,reuseaddr,fork,su=nobody,range=10.0.0.0/8 \
TCP4 : www.domain.org:80,bind=myaddr2

Redirection de port TCP, chaque côté lié à une autre adresse IP locale (liaison). Cette
exemple gère un nombre presque arbitraire de connexions parallèles ou consécutives
en créant un nouveau processus après chaque accept() . Il offre un peu de sécurité en
su'ing à user personne après avoir forké ; il n'autorise que les connexions du privé
10 réseau (portée) ; en raison de reuseaddr, il permet un redémarrage immédiat après le maître
l'arrêt du processus, même si certaines sockets enfants ne sont pas complètement fermées.
Avec -lmlocal2, socat se connecte à stderr jusqu'à ce qu'il atteigne avec succès la boucle d'acceptation.
La journalisation supplémentaire est dirigée vers syslog avec la fonction local2.

socat TCP4-ÉCOUTER : 5555,fork,tcpwrap=script \
EXEC :/bin/monscript,chroot=/home/sandbox,su-d=sandbox,pty,stderr

un serveur simple qui accepte les connexions (TCP4-LISTEN) et fork est un nouvel enfant
processus pour chaque connexion; chaque enfant agit comme un seul relais. Le client doit
correspondre aux règles du nom de processus démon "script" dans /etc/hosts.allow ainsi que
/etc/hosts.deny, sinon l'accès lui est refusé (voir "man 5 hosts_access"). Pour
EXEC'uting le programme, le chroot du processus fils à /accueil/bac à sable, su est à l'utilisateur
bac à sable, puis démarre le programme /home/bac à sable/bin/monscript. Socat et mon script
communiquer via un pseudo tty (pty) ; Le stderr de myscript est redirigé vers stdout, donc
ses messages d'erreur sont transmis via socat au client connecté.

socat EXEC:"mail.sh [email protected]",fdin=3,fdout=4 \
TCP4 : mail.relay.org:25,crnl,bind=alias1.server.org,mss=512

mail.sh est un script shell, distribué avec socat, qui implémente un simple SMTP
client. Il est programmé pour "parler" SMTP sur ses FD 3 (in) et 4 (out). Le fdin
et les options fdout indiquent socat d'utiliser ces FD pour communiquer avec le programme.
Parce que mail.sh hérite de stdin et stdout tandis que socat ne les utilise pas, le script
peut lire le corps d'un message à partir de stdin. Socat fait de l'alias1 votre adresse source locale
(bind), s'occupe de la terminaison correcte de la ligne réseau (crnl) et envoie au plus 512
octets de données par paquet (mss).

socat -,échappement=0x0f /dev/ttyS0,rawer,crnl

ouvre une connexion interactive via la ligne série, par exemple pour parler avec un modem.
rawer définit les paramètres du terminal de la console et du ttyS0 sur des valeurs praticables,
crnl convertit en caractères de nouvelle ligne corrects. escape permet de terminer le socat
processus avec caractère control-O.

socat UNIX-LISTEN :/tmp/.X11-unix/X1,fork \
SOCKS4:host.victim.org:127.0.0.1:6000,socksuser=personne,sourceport=20

avec UNIX-LISTEN, socat ouvre un socket de domaine UNIX en écoute /tmp/.X11-unix/X1.
Ce chemin correspond à l'affichage local de XWindow :1 sur votre machine, donc XWindow
les connexions client à DISPLAY=:1 sont acceptées. Socat puis parle avec le SOCKS4
serveur host.victim.org qui pourrait autoriser les connexions basées sur le port source 20 en raison d'un
Faiblesse liée au FTP dans ses filtres IP statiques. Socat prétend être invoqué par
chaussettesuser personne, et demande à être connecté au port de bouclage 6000 (seulement faible
les configurations sockd le permettront). Donc nous avons un lien avec les victimes
serveur XWindow et, s'il ne nécessite pas de cookies MIT ou d'authentification Kerberos,
nous pouvons commencer à travailler. Veuillez noter qu'il ne peut y avoir qu'une seule connexion à la fois,
car TCP ne peut établir qu'une seule session avec un ensemble donné d'adresses et de ports.

socat -u /tmp/readdata,seek-end=0,ignoreeof -

il s'agit d'un exemple de transfert de données unidirectionnel (-u). Socat transfère des données de
fichier /tmp/readdata (adresse implicite GOPEN), commençant à sa fin actuelle
(seek-end=0 permet socat commencer la lecture à la fin actuelle du fichier ; utiliser seek=0 ou pas de recherche
option pour lire d'abord les données existantes) dans un mode semblable à "tail -f" (ignoreeof). Les
"file" peut également être un socket de domaine UNIX d'écoute (n'utilisez pas d'option de recherche
puis).

(dormir 5; echo LE MOT DE PASSE; sleep 5; echo ls ; sleep 1) |
socat - EXEC:'ssh -l utilisateur serveur',pty,setsid,ctty

EXEC'utes une session ssh au serveur. Utilise un pty pour la communication entre socat ainsi que
ssh, en fait le tty de contrôle de ssh (ctty), et fait de ce pty le propriétaire d'un nouveau
groupe de processus (setsid), donc ssh accepte le mot de passe de socat.

socat -u TCP4-LISTEN:3334, reuseaddr, fork \
OUVRIR :/tmp/in.log, créer, ajouter

implémente un simple collecteur de messages basé sur un réseau. Pour chaque client se connectant à
port 3334, un nouveau processus fils est généré (option fork). Toutes les données envoyées par le
les clients sont ajoutés au fichier /tmp/in.log. Si le fichier n'existe pas, socat
c'est tout. L'option reuseaddr permet un redémarrage immédiat du processus serveur.

socat PTY, lien = $ HOME/dev/vmodem0, rawer, attente-esclave \
EXEC:"ssh modemserver.us.org socat - /dev/ttyS0,nonblock,rawer"

génère un pseudo terminal périphérique (PTY) sur le client qui peut être atteint sous
le lien symbolique $HOME/dev/vmodem0. Une application qui attend une ligne série ou
le modem peut être configuré pour utiliser $HOME/dev/vmodem0; son trafic sera dirigé vers un
modemserver via ssh où une autre instance socat le lie à /dev/ttyS0.

socat TCP4-LISTEN:2022, reuseaddr, fork \
PROXY:proxy:www.domain.org:22,proxyport=3128,proxyauth=user:pass

démarre un redirecteur qui accepte les connexions sur le port 2022 et les dirige via
le démon proxy écoute sur le port 3128 (proxyport) sur le proxy hôte, en utilisant le
CONNECT méthode, où ils sont authentifiés en tant que "user" avec "pass" (proxyauth). Les
Le proxy doit alors établir des connexions pour héberger www.domain.org sur le port 22.

socat - OPENSSL: serveur: 4443, cafile = serveur.crt, cert = client.pem

est un client OpenSSL qui essaie d'établir une connexion sécurisée à un serveur SSL.
L'option cafile spécifie un fichier qui contient des certificats de confiance : nous faisons confiance au
serveur uniquement lorsqu'il présente l'un de ces certificats et la preuve qu'il est propriétaire du
clé privée associée. Sinon, la connexion est interrompue. Avec cert un fichier
contenant le certificat client et la clé privée associée est spécifié. Cette
est requis au cas où le serveur souhaite une authentification client ; beaucoup d'Internet
les serveurs ne le font pas.
La première adresse ('-') peut être remplacée par presque n'importe quelle autre adresse socat.

socat OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=server.pem,cafile=client.crt TUYAU

est un serveur OpenSSL qui accepte les connexions TCP, présente le certificat de
le fichier server.pem et force le client à présenter un certificat vérifié
contre cafile.crt.
La deuxième adresse ('PIPE') peut être remplacée par presque n'importe quelle autre adresse socat.
Pour obtenir des instructions sur la génération et la distribution de clés et de certificats OpenSSL, consultez
le socat docu socat-openssl.txt supplémentaire.

echo |socat -u - fichier :/tmp/bigfile,create,largefile,seek=100000000000

crée un fichier fragmenté de 100 Go ; cela nécessite un type de système de fichiers qui prend en charge cela
(ext2, ext3, reiserfs, jfs ; pas minix, vfat). L'opération d'écriture de 1 octet peut
prend beaucoup de temps (reiserfs : quelques minutes ; ext2 : "pas de temps"), et le fichier résultant peut
consomme de l'espace disque avec seulement ses inodes (reiserfs : 2 Mo ; ext2 : 16 Ko).

socat tcp-l:7777, réutilisation, fourche système:'filan -i 0 -s >&2', sans fourche

écoute les connexions TCP entrantes sur le port 7777. Pour chaque connexion acceptée,
invoque un shell. Ce shell a ses stdin et stdout directement connectés au TCP
prise (nofork). Le shell démarre filan et le laisse imprimer les adresses de socket vers
stderr (votre fenêtre de terminal).

echo -En "\0\14\0\0\c" |socat -u - fichier :/usr/bin/squid.exe,seek=0x00074420

fonctionne comme un éditeur binaire primitif : il écrit les 4 octets 000 014 000 000 dans le
exécutable /usr/bin/squid à l'offset 0x00074420 (c'est un patch du monde réel à faire
l'exécutable squid de Cygwin exécuté sous Windows, réel en mai 2004).

socat - tcp :www.blackhat.org:31337,readbytes=1000

se connecte à un service inconnu et empêche d'être inondé.

socat -U TCP : cible : 9999, fin de fermeture TCP-L:8888, réutilisation, fourche

fusionne les données provenant de différents flux TCP sur le port 8888 en un seul flux pour
cible : 9999. L'option end-close empêche les processus enfants dédoublés par le
deuxième adresse de la fin de la connexion partagée à 9999 (fermer\(2) juste
dissocie l'inode qui reste actif tant que le processus parent vit ;
shutdown\(2) mettrait fin activement à la connexion).

socat - UDP4-DATAGRAM:192.168.1.0:123,sp=123,broadcast,range=192.168.1.0/24

envoie une diffusion au réseau 192.168.1.0/24 et reçoit les réponses du
serveurs de temps là-bas. Ignore les paquets NTP des hôtes en dehors de ce réseau.

socat - SOCKET-DATAGRAM:2:2:17:x007bxc0a80100x0000000000000000,b‐
ind=x007bx00000000x0000000000000000,setsockopt-int=1:6:1,r‐
ange=x0000xc0a80100x0000000000000000:x0000xffffff00x0000000000000000

est sémantiquement équivalent à l'exemple précédent, mais tous les paramètres sont
spécifié sous forme générique. la valeur 6 de setsockopt-int est la valeur Linux pour
SO_DIFFUSION.

socat - IP4-DATAGRAM:255.255.255.255:44,broadcast,range=10.0.0.0/8

envoie une diffusion au(x) réseau(x) local(s) en utilisant le protocole 44. Accepte les réponses de
la plage d'adresses privées uniquement.

socat - UDP4-DATAGRAM:224.255.0.1:6666,bind=:6666,ip-add-membership=224.255.0.1:eth0

transfère les données de stdin vers l'adresse de multidiffusion spécifiée à l'aide d'UDP. Les deux locaux
et les ports distants sont 6666. Indique à l'interface eth0 d'accepter également la multidiffusion
paquets du groupe donné. Plusieurs hôtes sur le réseau local peuvent exécuter cette
commande, de sorte que toutes les données envoyées par l'un des hôtes seront reçues par tous les autres
ceux. Notez qu'il existe de nombreuses raisons possibles pour l'échec, y compris les filtres IP,
problèmes de routage, mauvaise sélection d'interface par le système d'exploitation, des ponts ou un
interrupteur mal configuré.

socat TCP:hôte2:4443 TUN:192.168.255.1/24,plus

établit un côté d'un réseau virtuel (mais pas privé !) avec host2 où un
un processus similaire peut s'exécuter, avec UDP-L et l'adresse tun 192.168.255.2. Ils peuvent atteindre
mutuellement en utilisant les adresses 192.168.255.1 et 192.168.255.2. Notez que la diffusion en continu
par exemple. via TCP ou SSL ne garantit pas le maintien des limites des paquets et peut donc
provoquer la perte de paquets.

socat PTY,lien=/var/run/ppp,rawer INTERFACE : hdlc0

contourne le problème que pppd nécessite un périphérique série et peut donc ne pas être
capable de travailler sur une ligne synchrone représentée par un périphérique réseau. socat
crée un PTY pour rendre pppd heureux, se lie à l'interface réseau hdlc0 et peut
transférer des données entre les deux appareils. Utilisez ensuite pppd sur le périphérique /var/run/ppp.

socat -T 1 -d -d TCP-L : 10081, réutilisation, fourche, crlf SYSTÈME : "écho -e \"\\\"HTTP/1.0 200
OK\\\nType de document : text/plain\\\n\\\ndate :
\$\(date\)\\\nserveur :\$SOCAT_SOCKADDR :\$SOCAT_SOCKPORT\\\nclient :
\$SOCAT_PEERADDR:\$SOCAT_PEERPORT\\\n\\\"\" ; chat; echo -e \"\\\"\\\n\\\"\""

crée un simple serveur d'écho HTTP : chaque client HTTP qui se connecte obtient un HTTP valide
réponse contenant des informations sur l'adresse et le port du client telles qu'elles sont vues par
l'hôte du serveur, l'adresse de l'hôte (qui peut varier sur les serveurs multirésidents) et le
demande initiale du client.

socat -d -d
UDP4-RECVFROM : 9999, donc diffusion, horodatage, ip-pktinfo, ip-recverr, ip-recvopts, ip-recvtos, ip-recvttl !!-
SYSTEM:'exporter; sleep 1’ |grep SOCAT

attend un paquet UDP entrant sur le port 9999 et imprime les variables d'environnement
fourni par la socat. Sur les systèmes basés sur BSD, vous devez remplacer ip-pktinfo par
ip-recvdstaddr, ip-recvif. SOCAT_IP_DSTADDR est particulièrement intéressant : il contient
l'adresse cible du paquet qui peut être une monodiffusion, une multidiffusion ou une diffusion
adresse.

DIAGNOSTIC


Socat utilise un mécanisme de journalisation qui permet de filtrer les messages par gravité. Les sévérités
fournies sont plus ou moins compatibles avec la priorité syslog appropriée. Avec un ou jusqu'à
quatre occurrences de l'option de ligne de commande -d, la priorité la plus basse des messages qui sont
émis peut être sélectionné. Chaque message contient un seul caractère majuscule spécifiant le
gravité des messages (un parmi F, E, W, N, I ou D)

FATAL : conditions qui nécessitent l'arrêt inconditionnel et immédiat du programme.

ERREUR : conditions qui empêchent le traitement correct du programme. Habituellement, le programme est
terminé (voir l'option -s).

AVERTISSEMENT:
Quelque chose n'a pas fonctionné correctement ou est dans un état où il est encore plus correct
le traitement ne peut pas être garanti, mais pourrait être possible.

AVIS:
Actions intéressantes du programme, par exemple pour superviser socat dans une sorte de
mode serveur.

INFO : Description de ce que fait le programme, et peut-être pourquoi cela se produit. Permet de surveiller
les cycles de vie des descripteurs de fichiers.

DEBUG : Description du fonctionnement du programme, de tous les appels système ou bibliothèque et de leurs
résultats.

Les messages de journal peuvent être écrits dans stderr, dans un fichier ou dans syslog.

A la sortie, socat donne l'état 0 s'il s'est terminé en raison d'un EOF ou d'un délai d'inactivité, avec un
valeur positive en cas d'erreur, et avec une valeur négative en cas d'erreur fatale.

Utilisez filan en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad