Autor
|
Tema: hacer un programa bluetooth (Leído 56,696 veces)
|
verito123
Desconectado
Mensajes: 10
|
Sir Graham, en caso que decidamos NO utilizar el access server de bluegiga...que nos recomendarias??
Gracias
|
|
|
En línea
|
|
|
|
SirGraham
|
Hola,
Yo creo, por nuestra experiencia, que hacer un simple dispacher de mensajes de Bluetooth no es ya atractivo.
Yo creo que hacer algo interactivo seria mas interesante. Una aplicacion a instalar en el dispositivo (PDA o telefono) que realize algun tipo de interactividad con el punto de acceso.
Podeis hacer esto desde una plataforma de PC y la parte de movilidad en Java. Si luego quereis hacer que sea mas comercial, podriamos ver como integrarlo con el software de punto de acceso del XBlue (XBluePoint) (que tambien puede funcionar en Windows y en Linux).
Es una idea.
Saludos, Sir Graham.
|
|
|
En línea
|
|
|
|
Proxy Lainux
Desconectado
Mensajes: 187
|
hola Estoy tratando de crear un programa en linux para que se conecte mediante bluetooth mi computadora con mi celular, pero aluien sabe que tengo que hacer para aceptar la contraseña lo que pasa es que en programas que he usado tengo que colocar la contraseña en el programa de la computadora primero y despues me pide la contraseña el celular y al colocar la misma contraseña que coloke en en programa el celular lo acepta y puedo ver los archivos... les dejo una imagen de lo que quiero decir pero no se como programar en C esa parte de la contraseña, alguien sabe que hace y que se necesite saber para que acepte la contraseña y pueda tener acceso a los archivos de mi celular? salu2
|
|
|
En línea
|
|
|
|
SirGraham
|
Hola,
Depende del perfil que estes usando en Bluetooth para realizar la conexion.
Algunos estan autentificados: Pide PIN (como el OBEX FTP) y otros solo necesitan confirmacion (ejem. OBEX PUSH).
¿Cual usas tu?
Saludos, Sir Graham.
|
|
|
En línea
|
|
|
|
Proxy Lainux
Desconectado
Mensajes: 187
|
hola sirGraham pues mi celular creo que pide PIN, porke como mencione anteriormente tengo que colocar una contraseña en la compu y despues lo tengo que poner en mi celular, despues el celular me dice, "verificando PIN", lo acepta y lo guarda y se monta el celular en el escritorio... antes usaba ubuntu ultimate y ya estaba todo instalado, y ahorita puse la version live del mismo ubuntu y al verificar no estaba instalado ni obexftp ni obexpush, así que no se cual usaba... pero creo que es como Obexftp que pide pin pero como lo podria programar?, ahorita lo que llevo es que el bluetooth de la compu me encuentre el bluetooth de mi celular y mediante socket se intente vincular, pero lo del pin no tengo idea de que hacer, y al buscar en google solo me aparece "hackeo por bluetooth", y no encuentro algo relacionado con lo que estoy buscando, espero me puedas ayudar otra pregunta, yo por lo general utilizo codeblocks y lei que es mejor hacer un programa de bluetooth con VC++.net y SDK, pero casi no me gusta visual studio y no encuentro el que tenia, así que me gustaria saber si se puede hacer un programa de bluetooth con codeblocks salu2
|
|
« Última modificación: 3 Marzo 2009, 17:01 pm por プラクシ ライヌクス »
|
En línea
|
|
|
|
SirGraham
|
Hola, Haber por partes: pues mi celular creo que pide PIN, porke como mencione anteriormente tengo que colocar una contraseña en la compu y despues lo tengo que poner en mi celular, despues el celular me dice, "verificando PIN", lo acepta y lo guarda y se monta el celular en el escritorio... Si estas realizando una vinculacion eso es lo normal. Si haces una conexion por programa depende de a que perfil de Bluetooth te conectes. Normalmente los perfiles de OBEX FTP estan autentificados (pide PIN) y los de OBEX PUSH solo necesitan confirmacion. pero como lo podria programar?, ahorita lo que llevo es que el bluetooth de la compu me encuentre el bluetooth de mi celular y mediante socket se intente vincular, pero lo del pin no tengo idea de que hacer, y al buscar en google solo me aparece "hackeo por bluetooth", y no encuentro algo relacionado con lo que estoy buscando, espero me puedas ayudar La peticion de PIN proviene de que el perfil de bluetooth "remoto" (supongo que el del movil en este caso) al que te conectas tiene asignada autentificacion (cosa normal). digamos que es el movil el que pide el PIN. Eso DEBE ser así por la seguridad bluetooth: Tienes informacion en este foro de como funciona el sistema de autentificacion de Bluetooth. Te invito a que la leeas y la estudies para que entiendas mejor lo que quiero decir. Si no fuera así, cualquiera podria, simplemente con hacer una aplicacion para PC extraer o introducir ficheros por bluetooth en tu movil. DEBE existir un sistema de seguridad para evitar eso. En Bluetooth se realiza con una gestion de intercambio de PINs. Tu no puedes decirle al movil que PIN es "por programa" y de forma remota, por que la aplicacion "remota" del stack de bluetooth de tu motorola, en este caso, no te va dejar "obiamente". Es que si no no abria seguridad. Ya se lo que me vas a decir: "yo le pongo un pin que solo conozco yo y se lo envio al celular. Asi solo mi aplicacion se conecta". Ya pero es que el esquema de autentificacion de cualquier sistema de radio: Wi-Fi (wep/wap), GSM (A3A8), o Bluetooth (E22) requiere que ninguna clave se mande por radio. Si no no habria seguridad. Por lo que la gestions de PINs es mas complicada (se hacen mas cosas) que las que crees tu ver ... Si tu quieres eliminar este proceso, tendrias que instalar una aplicacion (Java J2ME, Symbian, Windows Mobile, etc...) en el movil, que creara un nuevo perfil no autentificado y conectarte a ese perfil desde el PC. Con ello la seguridad no se ve vulnerada, por que usuario a instalado una nueva aplicacion y el perfil dependera de la misma... el usario sabra por que la instalado. otra pregunta, yo por lo general utilizo codeblocks y lei que es mejor hacer un programa de bluetooth con VC++.net y SDK, pero casi no me gusta visual studio y no encuentro el que tenia, así que me gustaria saber si se puede hacer un programa de bluetooth con codeblocks El problema no esta el IDE (el entorno) de programacion que uses. El tema es si desde code::blocks y el compilador de C++ que tenga tu puedes cargar las librerias staticas del SDK de Microsoft. Si no es así, no podras hacer nada con el stack de bluetooth de microsoft y por consiguiente con bluetooth. Saludos, Sir Graham.
|
|
« Última modificación: 3 Marzo 2009, 18:19 pm por SirGraham »
|
En línea
|
|
|
|
Proxy Lainux
Desconectado
Mensajes: 187
|
hola de nuevo mira estaba leyendo este articulo que kreo es de gospel... dejo el link http://www.seguridadmobile.com/bluetooth/seguridad-bluetooth/elementos-de-seguridad.html#Autenticaciony logro vincular mi pc con el bluetooth de mi movil mediante socket pero no logro emparejarlo por el PIN, y en este link encontre que...cada par de dispositivos emplea una clave de enlace secreta común de 128 bits pero que debo aprender para programar eso, en el mismo link dice que usan algoritmos E21 y E22... voy a buscar algo de eso, haber que encuentro y haber si me pueden decir que necesitaria estudiar para hacerlo, ya que el programa lo estoy haciendo en linux, en C y basandome en Bluez
|
|
|
En línea
|
|
|
|
SirGraham
|
Hola, Conozco la web de Gospel, que es ademas moderador de este foro. El otro dia estuvimos hablando de otros temas con el... Vamos haber... por que creo que no me explicado bien. El sistema de seguridad de Bluetooth " es una cosa seria". Esta muy bien echo. Puede haber problemas de seguridad en algunos terminales, pero siempre por culpa de la implementacion de los fabricantes de terminales del stack de bluetooth, no del propio protocolo de bluetooth en si. y logro vincular mi pc con el bluetooth de mi movil mediante socket pero no logro emparejarlo por el PIN, y en este link encontre que...cada par de dispositivos emplea una clave de enlace secreta común de 128 bits
pero que debo aprender para programar eso, en el mismo link dice que usan algoritmos E21 y E22... voy a buscar algo de eso, haber que encuentro No es un tema secreto. Esta perfectamente publicado y documentado. Lo tienes en la propia web de desarrollo de Bluetooth y en mensajes de este mismo foro. Otra cosa es que encuentres un mecanismo para saltarselo: No valen cosas como estar snifando los paquetes de bluetooth en el momento de emparejamiento de terceros y obtener asi el PIN (eso no es valido en una situacion real o en caso que propones). Ademas esa tecnica ya esta mas que estudiada y probada en este foro con todas sus posibilidades. Para hacer lo que quieres, en sintesis tendrias que: "Simplemente" obtener, previa a la comunicacion por socket y en caso de que exista (por que no necesariamente se tiene que haberse producido previamente), TODA la configuracion guardada de una vinculacion previa realizada en ese terminal remoto. Esto es: toda la informacion de una viculacion que tenga, claro esta todos los permisos. Todo eso (repito) de forma REMOTA. Esta configuracion se compone (basicamente) de la clave de 128 bits que comentabas antes (creada pseudo aletoriamente y en base a los PINs) + MAC del dispositivo que ha generado esa vinculado previa. Una vez obtenida esa informacion se puede añadir a la lista de vinculacion del stack que estes usando (sera diferente si es BlueZ o Microsoft) y ademas cambiar tu propia MAC por la obtenida de esa configuracion. Así al realizar la conexion no te pediria PIN, dado que te harias pasar por otro terminal que ha sido vinculado previamente con todos los permisos. Claro, que esto es mucho mas facil decirlo que hacerlo... Si tu crees que puedes encontrar una via para conseguir todo eso, adelante... aqui nos encontraras por si necesitas una ayuda en algo. Yo llevo bastantes años en el tema de bluetooth (como otra mucha gente) y no se me ocurre como hacerlo .. pero oye mira... igual a ti se te ocurre una idea milagrosa para ello.... Saludos, Sir Graham.
|
|
« Última modificación: 3 Marzo 2009, 20:23 pm por SirGraham »
|
En línea
|
|
|
|
Proxy Lainux
Desconectado
Mensajes: 187
|
ok.. gracias ya encontre mas cosas... y creo que voy a leer un poco mas sobre esto lo que pasa es que hace tiempo compre un usb de bluetooth para mi compu porke rompi el cable de usb para conectar mi movil con la computadora, pero el usb de bluetooth venia con un programa de prueba para poder revisar los archivos que tengo en mi celular, como fotos y videos y cuando lo instale se enlazo el usb con mi telefono y en la compu coloque una contraseña como "2233" y despues la escribi en el celular y la acepto y en el programa me aparecio una ventana con las carpetas de fotos,videos y musica, y ahorita kise programar el mio pero solo logro ubicar el bluetooth de mi celular y conectarme, pero la verdad no tengo idea de como emparejar los dos dispositivos para depues poder ver mis archivos... yo al principio pensaba que el movil enviaba una contraseña cifrada a la compu, el programa de la compu lo desencriptaba y lo comparaba con el que ya habia alli y si era igual mandaba una señal de aceptacion a movil, el movil tambien lo aceptaba y listo podia ver lo que kisiera, y no se si eso hace, pero no sabia nada de E22 y kinit, etc... hasta que mencionaste Bluetooth(E22). pero bueno, voy a seguir buscando haber si encuentro como puedo emparejar los dispositivos con programacion C mientras encuentro algo mas, nos vemos y gracias por la ayuda
|
|
|
En línea
|
|
|
|
SirGraham
|
Hola,
Tienes las funciones en el Propio API de BlueZ para realizar un emparejamiento, controlar cuando y cual es el PIN que pide en la parte del PC. Tambien puedes configurar en el BlueZ un PIN constante (siempre el mismo) para que SOLO pregunte en el PIN en la parte del terminal REMOTO (ejm 1234).
Pero "evitar" que el terminal (el motorola en este caso) te pida PIN con solo realizar o programar una aplicacion en la parte del PC, me temo que eso no podras hacerlo... por lo que hemos comentado anteriormente.
Saludos, Sir Graham.
|
|
|
En línea
|
|
|
|
|
|