Bash-Linux.com : Le SHELL pour les nuls

  Actuellement 46 lignes de commande disponibles
login as: root
root@213.186.33.18's password:
Last login: Sun Aug 1 7:54:23 2010 from 38.107.191.101
[root@bash-linux ~] # echo "Bienvenue sur Bash-Linux.com"_
 Manuel des commandes UNIX (man) Version française

Indiquez la fonction :

Man Ip en français

IP(7) Manuel de l'administrateur Linux IP(7)
 
NOM


ip - Implementation Linux du protocole IPv4.
 
SYNOPSIS


#include #include #include /* super ensemble du precedent */ tcp_socket = socket(PF_INET, SOCK_STREAM, 0); udp_socket = socket(PF_INET, SOCK_DGRAM, 0); raw_socket = socket(PF_INET, SOCK_RAW, protocol);
 
DESCRIPTION


Linux implemente le Protocole Internet (IP) version 4, decrit dans les RFC 791 et RFC 1122. ip contient une implementation du multicasting niveau 2 conforme a la RFC 1112. Elle contient aussi un routeur IP com- prenant un filtre de paquets. L'interface de programmation est compatible avec les sockets BSD. Pour plus de renseignements sur les sockets, voir socket(7). Une socket IP est creee par la fonction socket(2) invoquee sous la forme socket(PF_INET, type_socket, protocole). les types valides des sockets sont SOCK_STREAM pour ouvrir une socket tcp(7), SOCK_DGRAM pour ouvrir une socket udp(7), ou SOCK_RAW pour ouvrir une socket raw(7) permettant d'acceder directement au protocole IP. Le protocole indique est celui inscrit dans les en-tetes IP emis ou recus. Les seules valeurs valides pour le protocole sont 0 et IPPROTO_TCP pour les sock- ets TCP, et 0 et IPPROTO_UDP pour les sockets UDP. Pour les sockets SOCK_RAW on peut indiquer un protocole IP IANA valide dont la RFC 1700 precise les numeros assignes. Lorsqu'un processus veut recevoir de nouveaux paquets entrants ou con- nexions, il doit attacher une socket a une adresse d'interface locale en utilisant bind(2). Une seule socket IP peut etre attachee a une paire (adresse, port) locale donnee. Lorsqu'on indique INADDR_ANY lors de l'attachement, la socket sera affectee a toutes les interfaces locales. Si on invoque listen(2) ou connect(2) sur une socket non affectee, elle est automatiquement attachee a un port libre aleatoire, avec l'adresse locale fixee sur INADDR_ANY. L'adresse locale d'une socket TCP qui a ete attachee est indisponible pendant quelques instants apres sa fermeture, a moins que l'attribut SO_REUSEADDR ait ete active. Il faut etre prudent en utilisant ce dra- peau, car il rend le protocole TCP moins fiable. FORMAT D'ADRESSE Une adresse de socket IP est definie comme la combinaison d'une adresse IP d'interface et d'un numero de port 16 bits. Le protocole IP de base ne fournit pas de numero de port, ils sont implementes par les proto- coles de plus haut-niveau comme udp(7) et tcp(7). Sur les sockets raw, le champ sin_port contient le protocole IP. struct sockaddr_in { sa_family_t sin_family; /* famille d'adresses : AF_INET */ u_int16_t sin_port; /* port dans l'ordre d'octets reseau */ struct in_addr sin_addr; /* adresse Internet */ }; /* Adresse Internet */ struct in_addr { u_int32_t s_addr; /* Adresse dans l'ordre d'octets reseau */ }; sin_family est toujours rempli avec AF_INET. C'est indispensable. Sous Linux 2.2, la plupart des fonctions reseau renvoient EINVAL lorsque cette configuration manque. sin_port contient le numero de port, dans l'ordre des octets du reseau. Les numeros de ports inferieures a 1024 sont dits reserves. Seuls les processus privilegies (c'est a dire ceux qui ont la capacite CAP_NET_BIND_SERVICE) peuvent appeler bind(2) pour ces ports. Notez que le protocole IPv4 en tant que tel n'a pas de con- cept de ports, ils sont seulement implementes par des protocoles de plus haut-niveau comme tcp(7) et udp(7). sin_addr est l'adresse IP de l'hote. le membre s_addr de la structure struct in_addr contient l'adresse de l'interface de l'hote, dans l'ordre des octets du reseau. in_addr devrait etre affecte par l'une des valeurs INADDR_* (par exemple, INADDR_ANY) ou configure avec les fonctions de bibliotheque inet_aton(3), inet_addr(3), inet_makeaddr(3) ou directement par le systeme de resolution des noms (voir gethostby- name(3)). Les adresses IPv4 sont divisees en adresses unicast, broad- cast et multicast. Les adresses unicast decrivent une interface unique d'un hote, les adresses broadcast correspondent a tous les hotes d'un reseau, et les adresses multicast representent tous les hotes d'un groupe multicast. Les datagrammes vers des adresses broadcast ne peu- vent etre emis et recus que si l'attribut de socket SO_BROADCAST est active. Dans l'implementation actuelle, les sockets orientees connex- ion ne sont autorisees que sur des adresses unicast. Remarquez que l'adresse et le port sont toujours stockes dans l'ordre des octets du reseau. Cela signifie qu'il faut invoquer htons(3) sur le numero attribue a un port. Toutes les fonctions de manipulation d'adresse et port de la bibliotheque standard fonctionne dans l'ordre du reseau. Il existe plusieurs adresses particulieres : INADDR_LOOPBACK (127.0.0.1) correspond toujours a l'hote local via le peripherique loopback ; INADDR_ANY (0.0.0.0) signifie un attachement a n'importe quelle adresse ; INADDR_BROADCAST (255.255.255.255) signifie n'importe quel hote et a le meme effet que INADDR_ANY pour des raisons his- toriques.
 
OPTIONS DES SOCKETS


IP supporte quelques options des sockets specifiques aux protocoles, fixees avec setsockopt(2) et consultees avec getsockopt(2). Le niveau d'option de socket pour IP est IPPROTO_IP. Un attribut booleen en faux quand il est nul, et vrai sinon. IP_OPTIONS Fixe ou lit les options IP a envoyer avec chaque paquet sur cette socket. Les arguments sont un pointeur sur un tampon con- tenant les options et la longueur des options. L'appel setsock- opt(2) fixe les options IP associees a une socket. La taille maximale des options pour IPv4 est 40 octets. Voir la RFC 791 pour les options autorisees. Lorsque le paquet de connexion ini- tiale d'une socket SOCK_STREAM contient des options IP, celles- ci seront automatiquement attribue a la socket, avec les options de routage inversees. Les paquets entrants ne peuvent pas modi- fier les options apres que la connexion est etablie. Le traite- ment des options de routage des paquets entrant est desactive par defaut, et peut etre valide en utilisant la requete sysctl accept_source_route. Les autres options, comme l'horodatage sont toujours traitees. Pour les socket datagrammes, les options IP ne peuvent etre fixees que par l'utilisateur local. L'appel de getsockopt(2) avec IP_OPTIONS remplit le tampon fourni avec les options d'emission actuelles. IP_PKTINFO Fournit un message IP_PKTINFO de service, qui contient une structure pktinfo fournissant quelques informations a propos du paquet entrant. Ceci ne fonctionne que pour les sockets orien- tees datagrammes. L'argument est un drapeau indiquant a la socket sur le message IP_PKTINFO doit etre passe ou non. Le mes- sage lui-meme ne peut etre ecrit ou lu que comme message de con- trole avec un paquet, en utilisant recvmsg(2) ou sendmsg(2). struct in_pktinfo { unsigned int ipi_ifindex; /* Numero d'interface */ struct in_addr ipi_spec_dst; /* Adresse locale */ struct in_addr ipi_addr; /* Adresse destination */ }; ipi_ifindex est le numero unique de l'interface sur laquelle le paquet a ete recu. ipi_spec_dst est l'adresse locale du paquet, et ipi_addr est l'adresse de destination dans l'en-tete du paquet. Si IP_PKTINFO est passe a sendmsg(2) et si ipi_spec_dest est non nul, alors il sera utilise comme adresse source pour la recherche dans la table de routage, et pour fixer les options de routage IP. Si ipi_ifindex est non nul, l'adresse localE principale de l'interface indiquee par cet index ecrase ipi_spec_dst pour La table de routage. IP_RECVTOS Le message de service IP_TOS est passe avec les paquets entrants. Il contient un octet qui decrit le champ Type-Of-Ser- vice/Precedence de l'en-tete du paquet. Il s'agit d'un drapeau entier booleen. IP_RECVTTL Passer un message de controle IP_TTL avec le champ Time-To-Live du paquet recu comme argument sous forme d'octet. Non supporte pour les sockets SOCK_STREAM. IP_RECVOPTS Passer a l'utilisateur toutes les options IP entrantes dans un message de controle IP_OPTIONS. L'en-tete de routage et les autres options sont deja remplies pour l'hote local. Non sup- porte pour les sockets SOCK_STREAM. IP_RETOPTS Comme IP_RECVOPTS mais renvoie les options non traitees, avec les options d'horodatage et de routage non remplies pour ce saut (hop). IP_TOS Fixe ou consulte le champs Type-Of-Service (TOS) envoye avec chaque paquet IP sortant de cette socket. Il sert a gerer sur le reseau les priorites entre paquets. TOS est un octet. Quelques attributs TOS standards sont definis : IPTOS_LOWDELAY pour min- imiser les delais en trafic interactif, IPTOS_THROUGHPUT pour optimiser le debit, IPTOS_RELIABILITY pour optimiser la fia- bilite, IPTOS_MINCOST doit etre utilise pour les donnees de rem- plissage, quand la lenteur de transmission importe peu. Une de ces valeurs TOS au maximum peut etre indiquee. Les autres bits sont invalides et doivent etre effaces. Linux envoie d'abord des datagrammes IPTOS_LOWDELAY par defaut, mais le comportement exact depend de la politique configuree pour la file d'attente. Quelques niveaux de haute priorite peuvent reclamer des privi- leges super utilisateur (la capacite CAP_NET_ADMIN). La prior- ite peut aussi etre indiquee d'une maniere independante du pro- tocole avec les options (SOL_SOCKET, SO_PRIORITY) de socket (voir socket(7)). IP_TTL Fixer ou consulter le contenu actuel du champ Time-To-Live envoye avec chaque paquet sortant de cette socket. IP_HDRINCL L'utilisateur doit fournir un en-tete ip avant les donnees pro- prement dites. Uniquement valides pour les sockets SOCK_RAW. Voir raw(7) pour plus de detail. Lorsque cet attribut est active, les valeurs fixees pour IP_OPTIONS, IP_TTL et IP_TOS sont ignorees. IP_RECVERR (defini dans ) Active le passage ameliore des messages d'erreur. Lorsque cet attribut est active sur une socket datagramme, les erreurs seront memorisees dans une file particuliere pour la socket. Quand l'utilisateur detecte un echec d'une operation sur la socket, les erreurs peuvent etre examinees en invoquant recvmsg(2) avec l'attribut MSG_ERRQUEUE. La structure sock_extended_err decrivant l'erreur sera passe comme message de service ayant le type IP_RECVERR et le niveau IPPROTO_IP. Ceci permet une gestion d'erreur fiable sur les sockets non con- nectees. La partie "donnees recues" de la file d'erreurs con- tient le paquet ayant rencontre un probleme. Le message de controle IP_RECVERR contient une structure sock_extended_err : #define SO_EE_ORIGIN_NONE 0 #define SO_EE_ORIGIN_LOCAL 1 #define SO_EE_ORIGIN_ICMP 2 #define SO_EE_ORIGIN_ICMP6 3 struct sock_extended_err { u_int32_t ee_errno; /* numero d'erreur */ u_int8_t ee_origin; /* origine de l'erreur */ u_int8_t ee_type; /* type */ u_int8_t ee_code; /* code */ u_int8_t ee_pad; u_int32_t ee_info; /* autres informations */ u_int32_t ee_data; /* autres donnees */ /* champs supplementaires eventuels */ }; struct sockaddr *SOCK_EE_OFFENDER(struct sock_extended_err *); ee_errno contient le numero de l'erreur mise en file. ee_origin est le code de l'origine de l'erreur. Les autres champs sont specifiques au protocole. La macro SOCK_EE_OFFENDER renvoie un pointeur sur l'adresse d'un objet reseau d'ou l'erreur provient, en prenant en argument un pointeur sur le message de service. Si cette adresse n'est pas disponible, le membre sa_family de la structure sockaddr contient AF_UNSPEC et les autres champs de sockaddr sont indefinis. IP utilise la structure sock_extended_err comme suit : ee_origin contient SO_EE_ORIGIN_ICMP pour les erreurs recues sous forme de paquet ICMP, ou SO_EE_ORIGIN_LOCAL pour les erreurs locales. Les valeurs inconnues doivent etre ignorees. ee_type et ee_code sont remplis avec les champs type et code de l'en-tete ICMP. ee_info contient le MTU determine pour les erreurs EMSGSIZE. Le message contient aussi l'adresse sockaddr_in du noeud ayant cause l'erreur, qui peut etre obtenu avec la macro. SOCK_EE_OFFENDER. Le champ sin_family de l'adresse fournie par SOCK_EE_OFFENDER vaut AF_UNSPEC si la source etait inconnue. Lorsque les erreurs proviennent du reseau, toutes les options IP (IP_OPTIONS, IP_TTL, etc.) valides pour la socket, et contenues dans le paquet en erreur sont transmises comme messages de cont- role. Le contenu original du paquet causant l'erreur est renvoye comme charge normale. Notez que TCP n'a pas de file d'erreurs ; MSG_ERRQUEUE est illegal sur les sockets SOCK_STREAM. Ainsi, toutes les erreurs sont renvoyees par les fonctions sur les sockets ou par SO_ERROR seulement. Pour les sockets raw, IP_RECVERR valide le passage de toutes les erreurs ICMP recues a l'application, sinon les erreurs sont seulement renvoyees sur les sockets connectees. Il s'agit d'un attribut booleen entier. IP_RECVERR est desactive par defaut. IP_MTU_DISCOVER Fixe ou consulte l'attribut de recherche du MTU du chemin (Path MTU - PMTU) pour une socket. Lorsqu'il est active, Linux effectuer la recherche du MTU de chemin comme defini dans la RFC 1191. L'attribut interdisant la fragmentation est alors active sur tous les datagrammes sortants. La valeur par defaut est commandee au niveau systeme par le sysctl ip_no_pmtu_disc pour les sockets SOCK_STREAM, et desactive pour toutes les autres. Pour les sockets autres que SOCK_STREAM il est de la responsabilite de l'utilisateur d'empaqueter les donnees dans des blocs inferieurs au MTU et d'assurer la retransmission si besoin est. Le noyau rejettera les paquets qui sont plus gros que le MTU determine si cet attribut est active (avec l'erreur EMSGSIZE ). Attribut MTU chemin Signification IP_PMTUDISC_WANT Utiliser une configuration par route. IP_PMTUDISC_DONT Ne pas rechercher le MTU par chemin. IP_PMTUDISC_DO Toujours rechercher le MTU par chemin. Lorsque la recherche du PMTU est active, le noyau garde automa- tiquement une trace des MTU des chemins par hote destinataire. Lorsqu'il est connecte a un correspondant specifique avec con- nect(2), le MTU du chemin actuellement determine peut etre con- sulte en utilisant l'option IP_MTU de la socket (par exemple si une erreur EMSGSIZE se produit). Cette valeur peut changer dans le temps. Pour les sockets sans connexions, avec plusieurs des- tinations, le nouveau MTU pour une destination donnee peut egalement etre obtenu en utilisant la file d'erreur (voir IP_RECVERR). Une nouvelle erreur sera mise en file pour chaque mise a jour du MTU. Durant la recherche du MTU, les paquets initiaux des sockets datagrammes peuvent etre perdus. Les applications utilisant UDP devraient le savoir, et les eviter dans leur strategie de retransmission. Pour demarrer le processus de recherche du MTU par chemin sur les sockets non-connectees, il est possible de demarrer avec une grande taille de datagramme (jusqu'a 64 ko d'en-tete) et la diminuer au fur et a mesure des mises a jours du MTU du chemin. Pour obtenir une estimation initiale du MTU d'un chemin con- nectez une socket datagramme a l'adresse de destination en util- isant connect(2) et consultez le MTU en appelant getsockopt(2) avec l'option IP_MTU. IP_MTU Renvoie le MTU du chemin actuellement determine pour la socket. Seulement valide quand la socket a ete connectee. Renvoie un entier. Uniquement valide pour un getsockopt(2). IP_ROUTER_ALERT Passer tous les futurs paquets rediriges (forwarded) avec l'option IP Router Alert activee sur cette socket. Uniquement valide pour les sockets raw. Ceci sert par exemple pour les demons RSVP de l'espace utilisateur. Les paquets enregistres ne sont pas rediriges par le noyau, c'est la responsabilite de l'utilisateur de les renvoyer. L'attachement des sockets est ignore, et de tels paquets ne sont filtres que par le protocole. Il s'agit d'un attribut entier. IP_MULTICAST_TTL Fixe ou consulte la valeur du champs Time-To-Live des paquets multicast sortant sur cette socket. Il est tres importants pour les paquets multicast de fixer le TTL le plus petit possible. La valeur par defaut est 1, ce qui signifie que les paquet multi- cast ne quittent pas le reseau local a moins que le programme de l'utilisateur ne le reclame explicitement. L'argument est un entier. IP_MULTICAST_LOOP Lit ou ecrit un entier booleen indiquant si les paquets multi- cast doivent etre renvoyes en boucle aux sockets locales con- cernees. IP_ADD_MEMBERSHIP Rejoindre un groupe multicast. L'argument est une structure struct ip_mreqn. struct ip_mreqn { struct in_addr imr_multiaddr; /* Adresse IP du groupe multicast */ struct in_addr imr_address; /* Adresse IP de l'interface locale */ int imr_ifindex; /* Numero d'interface */ }; imr_multiaddr contient l'adresse du groupe multicast que l'application veut rejoindre ou quitter. Il doit s'agir d'une adresse multicast valide. imr_address est l'adresse de l'inter- face locale avec laquelle le systeme doit joindre le groupe mul- ticast. Si elle est egale a INADDR_ANY, une interface appropriee est choisie par le systeme. imr_ifindex est le numero de l'interface pour rejoindre ou quitter le groupe imr_multiaddr, ou zero pour indiquer n'importe quelle interface. Pour la compatibilite, l'ancienne structure ip_mreq est encore supportee. Elle differe de ip_mreqn seulement par l'absence du membre imr_ifindex. Uniquement valide pour setsockopt(2). IP_DROP_MEMBERSHIP Quitter un groupe multicast. L'argument est une structure ip_mreqn ou ip_mreq comme pour IP_ADD_MEMBERSHIP. IP_MULTICAST_IF Fixer le peripherique local pour une socket multicast. L'argu- ment est une structure ip_mreqn ou ip_mreq comme pour IP_ADD_MEMBERSHIP. Lorsqu'une option de socket invalide est fournie, ENOPROTOOPT est renvoyee.
 
SYSCTLS


Le protocole IP support l'interface sysctl pour configurer certaines options globales. Les sysctl peuvent etre realises en lisant ou ecrivant dans les fichiers /proc/sys/net/ipv4/* ou en utilisant l'interface sysctl(2). Les variables indiquees booleen prennent une valeur entiere, avec une valeur non nulle (vrai) signifiant que l'option correspondante est activee et une valeur nulle (faux) signifi- ant que l'option est deactivee. ip_always_defrag (booleen) [Nouveaute des noyaux 2.2.13, dans les noyaux precedents c'etait une option de compilation nommee CONFIG_IP_ALWAYS_DEFRAG ; ce fichier n'est plus present dans les noyaux 2.4.x et ulterieurs] Lorsque ce drapeau booleen et actif (different de zero), les fragments entrants (morceaux de paquets IP obtenus car un hote entre l'origine et la destination a decide que les paquets etaient trop grands et les a coupe en morceaux) seront reassem- bles (defragmentes) avant d'etre traites, meme s'ils doivent etre rediriges (forwarded). utiliser uniquement pour un firewall qui est le seul lien d'entree de votre reseau, ou un proxy transparent. Ne jamais activer pour un routeur normal ou un hote. Sinon, les communica- tions fragmentees peuvent etre interrompues lorsque les frag- ments circulent par differents liens. La defragmentation a egalement un cot memoire et CPU non negligeable. Ceci est automatiquement active lorsque le masquerading ou le proxy transparent est configure. ip_autoconfig Non documente. ip_default_ttl (entier ; valeur par defaut : 64) Fixe la valeur par defaut du champ Time-To-Live des paquets sor- tants. Ceci peut etre modifie individuellement pour chaque socket avec l'option IP_TTL. ip_dynaddr Active la reecriture dynamique des adresses de socket et du mas- querading lors des changements d'adresse d'interface. Cela sert pour les liaisons par modem, avec des adresses IP variables. 0 signifie aucune reecriture, 1 les autorise, et 2 demande un mode volubile. ip_forward (booleen ; valeur par defaut : desactive) Active la redirection IP (forwarding) avec un attribut booleen. La redirection IP peut aussi etre configuree interface par interface. ip_local_port_range Contient deux entiers qui definissent l'intervalle par defaut des ports locaux alloues aux sockets. L'allocation demarre avec le premier numero et se termine avec le second. Notez que cela ne doit pas entrer en conflit avec les ports utilises pour le masquerading (bien que cela soit traite). De meme des choix arbitraires peuvent poser des problemes avec certains firewalls de filtrage par paquet qui font des suppositions sur les ports locaux utilises. Le premier nombre doit etre au moins superieur a 1024 et de preference a 4096 pour eviter les collisions avec les ports officiels et minimiser les problemes de firewall. ip_no_pmtu_disc (booleen ; valeur par defaut : desactive) Desactiver la recherche par defaut des MTU par chemin pour les sockets TCP. La recherche du MTU par chemin peut echouer avec des firewalls mal configures (qui rejettent tous les paquets ICMP) ou les interfaces mal configurees (par exemple lien point- a-point ou les deux extremites n'ont pas le meme MTU). Il vaut mieux corriger le routeur defectueux que de supprimer globale- ment la recherche du MTU par chemin, car cette derniere option augmente les cots du reseau. +. +. +.TP +.BR ip_nonlocal_bind " (booleen ; valeur par defaut : desactive)" Si elle est activee, elle permet aux processus d'associer (bind()) des adresses IP qui ne soient pas locales, ce qui peut etre utiles mais faire planter certaines applications. ip6frag_time (entier ; valeur par defaut : 30) La duree, en secondes, de conservasion d'un fragment IPv6 en memoire. ip6frag_secret_interval (Entier ; valeur par defaut : 30) Intervalle de regeneration (en secondes) de l'empreinte secrete ( ou temps de vie de l'empreinte secrete) des fragments IPv6. ipfrag_high_thresh (entier), ipfrag_low_thresh (entier) Si le nombre de fragments IP en file atteint ipfrag_high_thresh, la file est restreinte a ipfrag_low_thresh. Contient un entier avec le nombre d'octets. neigh/* voir arp(7).
 
IOCTLS


Toutes les ioctls decrites dans socket(7) s'appliquent a la couche IP. Les ioctls pour configurer les parametres generiques des peripheriques sont decrits dans netdevice(7).
 
NOTES


Soyez tres prudents avec l'option SO_BROADCAST, elle n'est pas privi- legiee sous Linux. Il est facile de surcharger un reseau avec des broadcast sans precaution. Pour les nouveaux protocoles applicatifs, il vaut mieux utiliser un groupe multicast plutot que le broadcast. Ce dernier est deconseille. Certaines autres implementations des sockets BSD fournissent les options de socket IP_RCVDSTADDR et IP_RECVIF pour obtenir l'adresse de destination et l'interface des datagrammes recus. Linux a l'option IP_PKTINFO plus generale pour effectuer ce travail. Certaines implementations de sockets BSD fournissent egalement une option IP_RECVTTL, mais un message auxilliaire de type IP_RECVTTL est passe avec le paquet entrant. Cela est different de l'option IP_TTL sous Linux. L'utilisation du niveau d'option socket SOL_IP n'est pas portable, les piles basees sur BSD utilisent le niveau IPPROTO_IP.
 
ERREURS


ENOTCONN L'operation n'est definie que pour une socket connectee, mais la socket ne l'etait pas. EINVAL Un argument invalide a ete transmis. Pour les emissions, cela peut etre cause par un envoi vers une route trou noir.
 
EMSGSIZE


Datagramme plus grand que le MTU du chemin, et ne peut pas etre fragmente. EACCES L'utilisateur essaye de realiser une operation sans avoir les permissions necessaires. Cela inclut : L'envoi d'un paquet vers une adresse broadcast sans avoir active l'attribut SO_BROADCAST. L'envoi d'un paquet vers une route interdite. Modification du parametrage du firewall sans privileges super utilisateur (la capacite CAP_NET_ADMIN). Attachement a un port reserve sans privileges super utilisateur (la capacite CAP_NET_BIND_SERVICE).
 
EADDRINUSE


Tentative d'attachement a une adresse deja utilisee. ENOPROTOOPT et EOPNOTSUPP Passage d'une option de socket invalide. EPERM L'utilisateur n'a pas la permission de fixer une priorite haute, de changer la configuration ou d'envoyer des signaux au groupe ou au processus demande.
 
EADDRNOTAVAIL


Une interface inexistante ou une adresse source non locale ont ete reclamees. EAGAIN L'operation sur une socket non-bloquante devrait bloquer.
 
ESOCKTNOSUPPORT


La socket n'est pas configuree ou on a demande un type de socket inconnu.
 
EISCONN


connect(2) a ete appele sur une socket deja connectee.
 
EALREADY


Une operation de connexion est deja en cours sur une socket non- bloquante.
 
ECONNABORTED


Une connexion a ete fermee durant un accept(2). EPIPE La connexion a ete fermee prematurement ou terminee par le cor- respondant. ENOENT SIOCGSTAMP a ete appele sur une socket sans qu'aucun paquet n'y soit disponible.
 
EHOSTUNREACH


Aucune route valide dans la table ne correspond a l'adresse de destination. Cette erreur peut etre due a un message ICMP d'un routeur distant ou a la table de routage interne. ENODEV Le peripherique reseau n'est pas disponible ou est incapable d'envoyer de l'IP. ENOPKG Un sous-systeme du noyau n'est pas configure. ENOBUFS, ENOMEM Pas assez de memoire. Cela signifie souvent que l'allocation memoire est contrainte par les limites du tampon de socket, pas par la memoire systeme, mais ce n'est pas toujours sr. D'autres erreurs peuvent etre declenchees par les protocoles superieurs. Voir tcp(7), raw(7), udp(7) et socket(7).
 
VERSIONS


IP_MTU, IP_MTU_DISCOVER, IP_PKTINFO, IP_RECVERR et IP_ROUTER_ALERT sont de nouvelles options de Linux 2.2. Elles sont aussi specifiques a Linux et ne doivent pas servir dans des programmes destines a etre portables. struct ip_mreqn est nouvelle dans Linux 2.2. Sous Linux 2.0, seule existait ip_mreq. Les sysctls ont ete introduits avec Linux 2.2.
 
COMPATIBILITE


Pour la compatibilite avec Linux 2.0, la syntaxe obsolete socket(PF_INET, SOCK_PACKET, protocole) est encore supportee pour ouvrir une socket packet(7). Cela est deconseille, et doit etre rem- place par un socket(PF_PACKET, SOCK_RAW, protocole) La principale dif- ference est la nouvelle structure d'adresse sockaddr_ll pour les infor- mations generiques du niveau liaison a la place de l'ancienne sock- addr_pkt.
 
BOGUES


Il y a trop de valeurs d'erreurs heterogenes. Les ioctls pour configurer les options d'interface specifiques IP et les tables ARP ne sont pas decrites. Certaines versions de la GlibC oublient la declaration in_pktinfo. Le remede est de recopier dans votre programme la description de cette page de manuel. La reception de l'adresse de destination originale avec MSG_ERRQUEUE dans msg_name par recvmsg(2) ne fonctionne pas dans certains noyaux 2.2.
 
VOIR AUSSI


recvmsg(2), sendmsg(2), byteorder(3), ipfw(4), capabilities(7), netlink(7), raw(7), socket(7), tcp(7), udp(7) RFC 791 pour les specifications IP d'origine. RFC 1122 pour les necessites IPv4 des hotes. RFC 1812 pour les necessites IPv4 des routeurs.
 
TRADUCTION


Ce document est une traduction realisee par Christophe Blaess le 9 juin 2001 et revisee le 7 decembre 2006. L'equipe de traduction a fait le maximum pour realiser une adaptation francaise de qualite. La version anglaise la plus a jour de ce document est toujours consultable via la commande : LANG=C man 7 ip . N'hes- itez pas a signaler a l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel. LDP 19 juin 2001 IP(7)


 Dernières recherches
Man  en anglais Man ip en anglaisMan  en français Man ip en français
Man  en anglais Man hosts en anglaisMan  en français Man hosts en français
Man  en anglais Man gunzip en anglaisMan  en français Man gunzip en français
Man  en anglais Man select_tut en anglaisMan  en français Man select_tut en français
Man  en anglais Man wait en anglaisMan  en français Man wait en français
Man  en anglais Man mmap en anglaisMan  en français Man mmap en français
Man  en anglais Man expr en anglaisMan  en français Man expr en français
Man  en anglais Man write en anglaisMan  en français Man write en français
Man  en anglais Man forkpty en anglaisMan  en français Man forkpty en français
Man  en anglais Man grantpt en anglaisMan  en français Man grantpt en français
Man  en anglais Man tr en anglaisMan  en français Man tr en français
Man  en anglais Man sh en anglaisMan  en français Man sh en français
Man  en anglais Man shmctl en anglaisMan  en français Man shmctl en français
Man  en anglais Man ld en anglaisMan  en français Man ld en français
Man  en anglais Man connect en anglaisMan  en français Man connect en français

 Recherche

Dans ce moteur de recherche, vous pouvez taper directement votre besoin, en une phrase normale, humaine.
Exemple : vous cherchez comment remplacer un mot par un autre dans tous les fichiers d'un certain dossier. Vous pouvez écrire "Comment remplacer un mot par un autre dans tous les fichiers d'un dossier". Le moteur vous ramenera les résultats en fonction de leur pertinence.
Vous pouvez bien sûr ne chercher qu'un seul mot-clé, par exemple "find".
 Toutes les lignes de code
Par popularité
Par fonction
Recherche avancée
 Les logiciels SHELL/SSH
Putty
Astuces Bash
Faire du SHELL avec PHP!
 La doc officielle
Les man Linux en français
Les man Linux en anglais
 Proposer vos bash
Partagez vos lignes!
 Les requêtes
Déposer une requête
Voir/répondre à une requête
 Quelques sites interessants
Bons sites pour apprendre
 Rechercher