[Semi-OT] Dar prioridad a unas ip en la configuracion de re dsobre otras

09/10/2003 - 10:34 por GuRRiATo | Informe spam
Hola a todos.

Vereis, estoy desarrollando un programa en Visual Basic, que lee datos que
le llegan a una de las ips de mi ordenador.

Tengo varias ips y quiero que lea los datos que le llegan a una en concreto.
El visual basic abre un winsock en la ip que le sale de los cojones y no se
como elegirla (empiezo a pensar que no se debe poder).

Asi que he pensado que igual coge la que esta primero o la mas prioritaria
para windows.

¿Como puedo poner que una ip tenga prioridad sobre las otras para el
windows?
¿se puede hacer?

Muchas gracias y saludos a todos

Miguel Angel

Preguntas similare

Leer las respuestas

#6 GuRRiATo
10/10/2003 - 09:44 | Informe spam
Repito que yo no estoy preguntando sobre el visual basic, sino sobre el
Windows XP. y si miras bien mi exposicion veras que es asi. Mi pregunta es
que criterio sigue windows cuando un programa le hace una peticion, para dar
una ip u otra.

No estoy preguntando nada sobre Visual basic.

Las cosas de visual basic ya las averiguo por mi cuenta, bien sea leyendo la
documentacion (lo primero) o consultando en sitios mas adecuados (paginas
web y por ultimo las news).

Lo del Bind lo averigue ayer, pero no pregunto esto, me referia a si windows
consulta el registro u otra cosa.

Muchas gracias por tu atencion ;-)

Saludos

Lo que quiero saber
"Tako" escribió en el mensaje
news:

"GuRRiATo" wrote in message
news:749hb.194019$
> Hola a todos.
>
> Vereis, estoy desarrollando un programa en Visual Basic, que lee datos


que
> le llegan a una de las ips de mi ordenador.
>
> Tengo varias ips y quiero que lea los datos que le llegan a una en
concreto.
> El visual basic abre un winsock en la ip que le sale de los cojones y no
se
> como elegirla (empiezo a pensar que no se debe poder).
>
> Asi que he pensado que igual coge la que esta primero o la mas


prioritaria
> para windows.
>

El control Winsock dispone de una propiedad llamada Bind que te


permite
especificar en que puerto y dirección escucha. No suele estar mal leerse


la
documentación de los cojones.


Respuesta Responder a este mensaje
#7 Tako
10/10/2003 - 09:51 | Informe spam
Pues tendrías que hacer pruebas, pero en principio lo normal suele ser
que si no especificas ninguna IP escuches en todas las IPs, pero ya te digo
que tendrías que hacer pruebas.

"GuRRiATo" wrote in message
news:bm5nqh$718$
Repito que yo no estoy preguntando sobre el visual basic, sino sobre el
Windows XP. y si miras bien mi exposicion veras que es asi. Mi pregunta es
que criterio sigue windows cuando un programa le hace una peticion, para


dar
una ip u otra.

No estoy preguntando nada sobre Visual basic.

Las cosas de visual basic ya las averiguo por mi cuenta, bien sea leyendo


la
documentacion (lo primero) o consultando en sitios mas adecuados (paginas
web y por ultimo las news).

Lo del Bind lo averigue ayer, pero no pregunto esto, me referia a si


windows
consulta el registro u otra cosa.

Muchas gracias por tu atencion ;-)

Saludos

Lo que quiero saber
"Tako" escribió en el mensaje
news:
>
> "GuRRiATo" wrote in message
> news:749hb.194019$
> > Hola a todos.
> >
> > Vereis, estoy desarrollando un programa en Visual Basic, que lee datos
que
> > le llegan a una de las ips de mi ordenador.
> >
> > Tengo varias ips y quiero que lea los datos que le llegan a una en
> concreto.
> > El visual basic abre un winsock en la ip que le sale de los cojones y


no
> se
> > como elegirla (empiezo a pensar que no se debe poder).
> >
> > Asi que he pensado que igual coge la que esta primero o la mas
prioritaria
> > para windows.
> >
>
> El control Winsock dispone de una propiedad llamada Bind que te
permite
> especificar en que puerto y dirección escucha. No suele estar mal leerse
la
> documentación de los cojones.
>
>


Respuesta Responder a este mensaje
#8 GuRRiATo
10/10/2003 - 11:08 | Informe spam
Hola de nuevo Tako!!

A fin de clarificar un poco la situacion voy a hacer un resumen de las
pruebas hechas, pero al final y poniendo un poco de visual basic (ya que
parece que tu sabes mas que yo del tema - de hecho yo programo
microcontroladores en ensamblador asi que de visual basic se solo un poco).

Si vemos que el hilo se hace pesado y solo me interesa a mi, lo cortamos,
pero de todas formas gracias a todos por la atencion.

A ver la pregunta seria la siguiente...si yo quisiera hacer un programa (da
igual el lenguaje) que me de una lista de las ips presentes en un sistema
(el programa abre un socket supongo que llamando a una API de windows, sea
directa o indirectamente a traves de un control), de donde lee el programa
(en concreto la api) la tabla de ips presentes en un sistema. Porque supongo
que la API no las lee de por si. Una solucion seria investigar las APIs que
abren sockets y saber donde encuentran ellas esos valores, pero yo suponia
que algun MVP de windows lo sabia...
Por ejemplo yo puedo desear hacer ese mismo programa en ensamblador sin
atacar a las API (repito que esto es simple curiosidad y por aprender).

Ahora las pruebas que he hecho (si no son interesantes no las leas).

Tengo dos tarjetas de red

Tarjeta 1: -- 192.168.1.3 --192.168.1.6
Tarjeta 2: -- 16.9.33.51 -- 16.0.0.1 -- 16.0.0.250

Lo primero que descubrir es que si tengo los cables de red desenchufados,
abriendo un programa servidor a una ip determinada, me dice que esta ip no
esta presentes en el sistema.

Winsock1.Bind 4000, "192.168.1.3"
Winsock1.Listen

Si conecto el cable todo va correcto.

Cuando hice las pruebas abriendo el puerto " a pelo"

Winsock1.LocalPort 4000
Winsock1.Listen

Al comprobar que ip utiliza me indica una u otra dependiendo de si reinicio
el ordenador o no (o del humor que tenga windows ese dia, yo que se), y ahi
empezaron mis dudas y curiosidad por el tema .En algunas ocasiones me
mostraba la 192.168.1.3 y en otras la 16.9.33.51. esto entiendo yo que no
debe ser problema del visual basic, ya que al hacer ping me sucede lo mismo.
Las direcciones que no tiene un cable de red conectado, no me contestan
(esto tambien me resulta curioso y me gustaria saber porque, para mi las
direcciones estan dentro de mi equipo, no tendria que salir por el cable de
red para nada).

No es cierto que abriendo el puerto 4000 escuche todas la ips. Si creo un
programa cliente que ataca a 192.168.1.3 y el servidor esta escuchando en el
4000 de 16.9.33.51, este ultimo no se entera de nada.

Lo cierto es que si yo quisiera hacer un programa que listase las ips de un
equipo, no se donde puedo leerlas directamente (y que conste que NO estoy
preguntando nada de programacion, sino donde se encuentra una determinada
informacion dentro de windows)(quiza no me explique bien la primera vez,
pero la verdad es que no queria soltar un rollo como el que estoy largando).

Perdon por el rollo, y espero que si alguien lee esto, le sirva de algo.

A si que me sirve para aprender cosas...que antes no sabia.

Un saludo cordial Tako ;-)

Miguel Angel gomez

"Tako" escribió en el mensaje
news:

Pues tendrías que hacer pruebas, pero en principio lo normal suele ser
que si no especificas ninguna IP escuches en todas las IPs, pero ya te


digo
que tendrías que hacer pruebas.

"GuRRiATo" wrote in message
news:bm5nqh$718$
> Repito que yo no estoy preguntando sobre el visual basic, sino sobre el
> Windows XP. y si miras bien mi exposicion veras que es asi. Mi pregunta


es
> que criterio sigue windows cuando un programa le hace una peticion, para
dar
> una ip u otra.
>
> No estoy preguntando nada sobre Visual basic.
>
> Las cosas de visual basic ya las averiguo por mi cuenta, bien sea


leyendo
la
> documentacion (lo primero) o consultando en sitios mas adecuados


(paginas
> web y por ultimo las news).
>
> Lo del Bind lo averigue ayer, pero no pregunto esto, me referia a si
windows
> consulta el registro u otra cosa.
>
> Muchas gracias por tu atencion ;-)
>
> Saludos
>
> Lo que quiero saber
> "Tako" escribió en el mensaje
> news:
> >
> > "GuRRiATo" wrote in message
> > news:749hb.194019$
> > > Hola a todos.
> > >
> > > Vereis, estoy desarrollando un programa en Visual Basic, que lee


datos
> que
> > > le llegan a una de las ips de mi ordenador.
> > >
> > > Tengo varias ips y quiero que lea los datos que le llegan a una en
> > concreto.
> > > El visual basic abre un winsock en la ip que le sale de los cojones


y
no
> > se
> > > como elegirla (empiezo a pensar que no se debe poder).
> > >
> > > Asi que he pensado que igual coge la que esta primero o la mas
> prioritaria
> > > para windows.
> > >
> >
> > El control Winsock dispone de una propiedad llamada Bind que te
> permite
> > especificar en que puerto y dirección escucha. No suele estar mal


leerse
> la
> > documentación de los cojones.
> >
> >
>
>


Respuesta Responder a este mensaje
#9 Tako
10/10/2003 - 11:40 | Informe spam
Menudo lío que quieres, pero bueno, la configuración del Windows se
encuentra en el registro, luego allí habrá de estar la lista de IPs.ahora,
encontrarlas supongo que por algún lado recóndito de Internet
encontraras esa información, lo normal para averiguarlo sería llamar a las
APIs correspondientes.

Si quieres buscar la información puedes ir al regedit y que te busque tu
IP, a mi por ejemplo me lleva a esta clave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interf
aces\{ED6200F8-ED09-4611-AC67-FC4E019489B4}\IPAddress

supongo que con esto y un poco de ensayo/prueba lograras averiguar como
guarda las diferentes IPs, siento no darte ningun link con más ayuda pero ya
tienes por donde buscar en el Google :)

Por cierto, si al final vas a tirar de APIs te ira mejor en los grupos
de C++, esta página además está muy bien http://allapi.net sobre todo para
programación de APIs en VB

"GuRRiATo" wrote in message
news:bm5sng$22c$
Hola de nuevo Tako!!

A fin de clarificar un poco la situacion voy a hacer un resumen de las
pruebas hechas, pero al final y poniendo un poco de visual basic (ya que
parece que tu sabes mas que yo del tema - de hecho yo programo
microcontroladores en ensamblador asi que de visual basic se solo un


poco).

Si vemos que el hilo se hace pesado y solo me interesa a mi, lo cortamos,
pero de todas formas gracias a todos por la atencion.

A ver la pregunta seria la siguiente...si yo quisiera hacer un programa


(da
igual el lenguaje) que me de una lista de las ips presentes en un sistema
(el programa abre un socket supongo que llamando a una API de windows, sea
directa o indirectamente a traves de un control), de donde lee el programa
(en concreto la api) la tabla de ips presentes en un sistema. Porque


supongo
que la API no las lee de por si. Una solucion seria investigar las APIs


que
abren sockets y saber donde encuentran ellas esos valores, pero yo suponia
que algun MVP de windows lo sabia...
Por ejemplo yo puedo desear hacer ese mismo programa en ensamblador sin
atacar a las API (repito que esto es simple curiosidad y por aprender).

Ahora las pruebas que he hecho (si no son interesantes no las leas).

Tengo dos tarjetas de red

Tarjeta 1: -- 192.168.1.3 --192.168.1.6
Tarjeta 2: -- 16.9.33.51 -- 16.0.0.1 -- 16.0.0.250

Lo primero que descubrir es que si tengo los cables de red desenchufados,
abriendo un programa servidor a una ip determinada, me dice que esta ip no
esta presentes en el sistema.

Winsock1.Bind 4000, "192.168.1.3"
Winsock1.Listen

Si conecto el cable todo va correcto.

Cuando hice las pruebas abriendo el puerto " a pelo"

Winsock1.LocalPort 4000
Winsock1.Listen

Al comprobar que ip utiliza me indica una u otra dependiendo de si


reinicio
el ordenador o no (o del humor que tenga windows ese dia, yo que se), y


ahi
empezaron mis dudas y curiosidad por el tema .En algunas ocasiones me
mostraba la 192.168.1.3 y en otras la 16.9.33.51. esto entiendo yo que no
debe ser problema del visual basic, ya que al hacer ping me sucede lo


mismo.
Las direcciones que no tiene un cable de red conectado, no me contestan
(esto tambien me resulta curioso y me gustaria saber porque, para mi las
direcciones estan dentro de mi equipo, no tendria que salir por el cable


de
red para nada).

No es cierto que abriendo el puerto 4000 escuche todas la ips. Si creo un
programa cliente que ataca a 192.168.1.3 y el servidor esta escuchando en


el
4000 de 16.9.33.51, este ultimo no se entera de nada.

Lo cierto es que si yo quisiera hacer un programa que listase las ips de


un
equipo, no se donde puedo leerlas directamente (y que conste que NO estoy
preguntando nada de programacion, sino donde se encuentra una determinada
informacion dentro de windows)(quiza no me explique bien la primera vez,
pero la verdad es que no queria soltar un rollo como el que estoy


largando).

Perdon por el rollo, y espero que si alguien lee esto, le sirva de algo.

A si que me sirve para aprender cosas...que antes no sabia.

Un saludo cordial Tako ;-)

Miguel Angel gomez

"Tako" escribió en el mensaje
news:
>
> Pues tendrías que hacer pruebas, pero en principio lo normal suele


ser
> que si no especificas ninguna IP escuches en todas las IPs, pero ya te
digo
> que tendrías que hacer pruebas.
>
> "GuRRiATo" wrote in message
> news:bm5nqh$718$
> > Repito que yo no estoy preguntando sobre el visual basic, sino sobre


el
> > Windows XP. y si miras bien mi exposicion veras que es asi. Mi


pregunta
es
> > que criterio sigue windows cuando un programa le hace una peticion,


para
> dar
> > una ip u otra.
> >
> > No estoy preguntando nada sobre Visual basic.
> >
> > Las cosas de visual basic ya las averiguo por mi cuenta, bien sea
leyendo
> la
> > documentacion (lo primero) o consultando en sitios mas adecuados
(paginas
> > web y por ultimo las news).
> >
> > Lo del Bind lo averigue ayer, pero no pregunto esto, me referia a si
> windows
> > consulta el registro u otra cosa.
> >
> > Muchas gracias por tu atencion ;-)
> >
> > Saludos
> >
> > Lo que quiero saber
> > "Tako" escribió en el mensaje
> > news:
> > >
> > > "GuRRiATo" wrote in message
> > > news:749hb.194019$
> > > > Hola a todos.
> > > >
> > > > Vereis, estoy desarrollando un programa en Visual Basic, que lee
datos
> > que
> > > > le llegan a una de las ips de mi ordenador.
> > > >
> > > > Tengo varias ips y quiero que lea los datos que le llegan a una en
> > > concreto.
> > > > El visual basic abre un winsock en la ip que le sale de los


cojones
y
> no
> > > se
> > > > como elegirla (empiezo a pensar que no se debe poder).
> > > >
> > > > Asi que he pensado que igual coge la que esta primero o la mas
> > prioritaria
> > > > para windows.
> > > >
> > >
> > > El control Winsock dispone de una propiedad llamada Bind que te
> > permite
> > > especificar en que puerto y dirección escucha. No suele estar mal
leerse
> > la
> > > documentación de los cojones.
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida