est-il possible d'imposer les ports locaux a une appli ?
2 réponses
sincosa
Bonjour,
J'aimerais satisfaire ma curiosité sur l'attribution aléatoire des ports
locaux gèrée par 1 os. Connaissez-vous des documents qui pourraient me
renseigner à ce sujet ?
Comment sont ils gérés par exemple sous windows, ou sous linux ? Y-a-t-il
des moyens pour imposer soi même les ports locaux d'une application ? A
savoir quand une application va tenter une connexion internet, lui
attribuer une gamme de ports spécifique ?
Aussi, savez-vous comment sont gérés les ports sur plusieurs postes qui se
partagent une seule connexion internet ? Le modem a-t-il lui aussi des
ports ? Ou bien les ports sont-ils plutot gerés par le serveur ?
Merci pour toute indication sur ce sujet. Sincosa.
--
Utilisant M2, le client e-mail révolutionnaire d'Opera :
http://www.opera.com/
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Alni
Bonjour,
Aussi, savez-vous comment sont gérés les ports sur plusieurs postes qui se partagent une seule connexion internet ? Le modem a-t-il lui aussi des ports ?
Un modem ne sais même pas ce que c'est que TCP/IP...
Ou bien les ports sont-ils plutot gerés par le serveur ?
Quel serveur ? Si tu veux parler de routeur NAT, oui. Pour simplifier, un routeur NAT n'est rien d'autre qu'un "ordinateur" (CPU + RAM) avec un OS et TCP/IP sur cet OS et 2 cartes réseau. Il y a un logiciel qui partage la connexion. Il reçois des requetes sur son interface LAN sous la forme: Machine_Src:Port_Src->Machine_Dest:Port_Dest
Il note l'IP_SRC et le port_SRC de la requête dans une table. Il prend un port source au hasard parmis ses port disponibles Il envoie le paquet à la machine destination sous la forme : IP_WAN_Routeur:Port_Src_Routeur->Machine_Dest:Port_Dest Et il attend une réponse sur ce port
Quand un paquet réponse arrive sur son IP_WAN_Routeur:Port_Src_Routeur Il regarde dans sa table, et là il voit que ce paquet est pour : Machine_Src:Port_Src. Il ne reste plus qu'a lui envoyer
Sous linux, par exemple (en tous cas sous kernel 2.1x), la plage de port utilisée par l'OS pour l'IP Masquerading (la fonctionalité routeur NAT de linux) on peut spécifier les ports qui seront utilisés par le routeur pour acheminer les paquets provenant de machines internes lors de la compilation du kernet. Ce sont par défaut 4096 ports dans les 61000 qui sont réservés à cet usage.
Bonjour,
Aussi, savez-vous comment sont gérés les ports sur plusieurs postes
qui se partagent une seule connexion internet ? Le modem a-t-il lui
aussi des ports ?
Un modem ne sais même pas ce que c'est que TCP/IP...
Ou bien les ports sont-ils plutot gerés par le
serveur ?
Quel serveur ?
Si tu veux parler de routeur NAT, oui. Pour simplifier, un routeur NAT
n'est rien d'autre qu'un "ordinateur" (CPU + RAM) avec un OS et TCP/IP
sur cet OS et 2 cartes réseau. Il y a un logiciel qui partage la
connexion. Il reçois des requetes sur son interface LAN sous la forme:
Machine_Src:Port_Src->Machine_Dest:Port_Dest
Il note l'IP_SRC et le port_SRC de la requête dans une table.
Il prend un port source au hasard parmis ses port disponibles
Il envoie le paquet à la machine destination sous la forme :
IP_WAN_Routeur:Port_Src_Routeur->Machine_Dest:Port_Dest
Et il attend une réponse sur ce port
Quand un paquet réponse arrive sur son IP_WAN_Routeur:Port_Src_Routeur
Il regarde dans sa table, et là il voit que ce paquet est pour :
Machine_Src:Port_Src. Il ne reste plus qu'a lui envoyer
Sous linux, par exemple (en tous cas sous kernel 2.1x), la plage de
port utilisée par l'OS pour l'IP Masquerading (la fonctionalité routeur
NAT de linux) on peut spécifier les ports qui seront utilisés par le
routeur pour acheminer les paquets provenant de machines internes lors
de la compilation du kernet. Ce sont par défaut 4096 ports dans les
61000 qui sont réservés à cet usage.
Aussi, savez-vous comment sont gérés les ports sur plusieurs postes qui se partagent une seule connexion internet ? Le modem a-t-il lui aussi des ports ?
Un modem ne sais même pas ce que c'est que TCP/IP...
Ou bien les ports sont-ils plutot gerés par le serveur ?
Quel serveur ? Si tu veux parler de routeur NAT, oui. Pour simplifier, un routeur NAT n'est rien d'autre qu'un "ordinateur" (CPU + RAM) avec un OS et TCP/IP sur cet OS et 2 cartes réseau. Il y a un logiciel qui partage la connexion. Il reçois des requetes sur son interface LAN sous la forme: Machine_Src:Port_Src->Machine_Dest:Port_Dest
Il note l'IP_SRC et le port_SRC de la requête dans une table. Il prend un port source au hasard parmis ses port disponibles Il envoie le paquet à la machine destination sous la forme : IP_WAN_Routeur:Port_Src_Routeur->Machine_Dest:Port_Dest Et il attend une réponse sur ce port
Quand un paquet réponse arrive sur son IP_WAN_Routeur:Port_Src_Routeur Il regarde dans sa table, et là il voit que ce paquet est pour : Machine_Src:Port_Src. Il ne reste plus qu'a lui envoyer
Sous linux, par exemple (en tous cas sous kernel 2.1x), la plage de port utilisée par l'OS pour l'IP Masquerading (la fonctionalité routeur NAT de linux) on peut spécifier les ports qui seront utilisés par le routeur pour acheminer les paquets provenant de machines internes lors de la compilation du kernet. Ce sont par défaut 4096 ports dans les 61000 qui sont réservés à cet usage.
Jacques Caron
Salut,
On Sat, 17 Jul 2004 04:53:11 +0200, sincosa wrote:
J'aimerais satisfaire ma curiosité sur l'attribution aléatoire des ports locaux gèrée par 1 os. Connaissez-vous des documents qui pourraient me renseigner à ce sujet ?
http://www.ietf.org/rfc/rfc793.txt
Comment sont ils gérés par exemple sous windows, ou sous linux ?
Sauf si l'application effectue un "bind" sur un port spécifique avant de lancer la connexion, ils sont attribués de façon plus ou moins aléatoire, dans une plage plus ou moins large (on évite les numéros de ports "petits" pour éviter les conflits avec les protocoles connus, la limite de "petit" variant d'un OS à l'autre et d'un contexte à un autre). Il est vraisemblablement que dans la plupart des cas ils sont en fait attribués séquentiellement, mais peu importe, il n'y a pas de raison d'en savoir plus.
Y-a-t-il des moyens pour imposer soi même les ports locaux d'une application ?
Certaines applications permettent de choisir le port utilisé pour les connexions sortantes. C'est cependant relativement rare. Si on a les sources, il suffit d'ajouter un bind() là où il faut.
A savoir quand une application va tenter une connexion internet, lui attribuer une gamme de ports spécifique ?
Certains OS permettent de définir la plage à utiliser. Par exemple sous FreeBSD:
Mais c'est valable pour l'ensemble des applications.
Aussi, savez-vous comment sont gérés les ports sur plusieurs postes qui se partagent une seule connexion internet ? Le modem a-t-il lui aussi des ports ? Ou bien les ports sont-ils plutot gerés par le serveur ?
Un modem (qui est transparent à IP), non. Un routeur (qui fait du NAT), oui. Il remplace les ports choisis par les machines internes par des ports "à lui". Dans la pratique, la plupart des routeurs conservent le port initial sauf s'il y a un conflit avec une autre connexion d'une autre machine.
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
Salut,
On Sat, 17 Jul 2004 04:53:11 +0200, sincosa <sincosa@laposte.net> wrote:
J'aimerais satisfaire ma curiosité sur l'attribution aléatoire des ports
locaux gèrée par 1 os. Connaissez-vous des documents qui pourraient me
renseigner à ce sujet ?
http://www.ietf.org/rfc/rfc793.txt
Comment sont ils gérés par exemple sous windows, ou sous linux ?
Sauf si l'application effectue un "bind" sur un port spécifique avant de
lancer la connexion, ils sont attribués de façon plus ou moins aléatoire,
dans une plage plus ou moins large (on évite les numéros de ports "petits"
pour éviter les conflits avec les protocoles connus, la limite de "petit"
variant d'un OS à l'autre et d'un contexte à un autre). Il est
vraisemblablement que dans la plupart des cas ils sont en fait attribués
séquentiellement, mais peu importe, il n'y a pas de raison d'en savoir
plus.
Y-a-t-il des moyens pour imposer soi même les ports locaux d'une
application ?
Certaines applications permettent de choisir le port utilisé pour les
connexions sortantes. C'est cependant relativement rare. Si on a les
sources, il suffit d'ajouter un bind() là où il faut.
A savoir quand une application va tenter une connexion internet, lui
attribuer une gamme de ports spécifique ?
Certains OS permettent de définir la plage à utiliser. Par exemple sous
FreeBSD:
Mais c'est valable pour l'ensemble des applications.
Aussi, savez-vous comment sont gérés les ports sur plusieurs postes qui
se partagent une seule connexion internet ? Le modem a-t-il lui aussi
des ports ? Ou bien les ports sont-ils plutot gerés par le serveur ?
Un modem (qui est transparent à IP), non. Un routeur (qui fait du NAT),
oui. Il remplace les ports choisis par les machines internes par des ports
"à lui". Dans la pratique, la plupart des routeurs conservent le port
initial sauf s'il y a un conflit avec une autre connexion d'une autre
machine.
Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/
On Sat, 17 Jul 2004 04:53:11 +0200, sincosa wrote:
J'aimerais satisfaire ma curiosité sur l'attribution aléatoire des ports locaux gèrée par 1 os. Connaissez-vous des documents qui pourraient me renseigner à ce sujet ?
http://www.ietf.org/rfc/rfc793.txt
Comment sont ils gérés par exemple sous windows, ou sous linux ?
Sauf si l'application effectue un "bind" sur un port spécifique avant de lancer la connexion, ils sont attribués de façon plus ou moins aléatoire, dans une plage plus ou moins large (on évite les numéros de ports "petits" pour éviter les conflits avec les protocoles connus, la limite de "petit" variant d'un OS à l'autre et d'un contexte à un autre). Il est vraisemblablement que dans la plupart des cas ils sont en fait attribués séquentiellement, mais peu importe, il n'y a pas de raison d'en savoir plus.
Y-a-t-il des moyens pour imposer soi même les ports locaux d'une application ?
Certaines applications permettent de choisir le port utilisé pour les connexions sortantes. C'est cependant relativement rare. Si on a les sources, il suffit d'ajouter un bind() là où il faut.
A savoir quand une application va tenter une connexion internet, lui attribuer une gamme de ports spécifique ?
Certains OS permettent de définir la plage à utiliser. Par exemple sous FreeBSD:
Mais c'est valable pour l'ensemble des applications.
Aussi, savez-vous comment sont gérés les ports sur plusieurs postes qui se partagent une seule connexion internet ? Le modem a-t-il lui aussi des ports ? Ou bien les ports sont-ils plutot gerés par le serveur ?
Un modem (qui est transparent à IP), non. Un routeur (qui fait du NAT), oui. Il remplace les ports choisis par les machines internes par des ports "à lui". Dans la pratique, la plupart des routeurs conservent le port initial sauf s'il y a un conflit avec une autre connexion d'une autre machine.
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/