Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 20 de 26

Proyecto de programación

  1. #1 Proyecto de programación 
    Avanzado
    Fecha de ingreso
    Sep 2002
    Ubicación
    En mi chavola
    Mensajes
    194
    Descargas
    4
    Uploads
    0
    Hola buenas!

    Os escribo por que desde hace algún tiempo estaba dandole vueltas a crear un proyecto en conjunto con quien quiera participar...
    Respecto al lenguaje de desarrollo, había pensado en Vb (aunque también puede haber parte de c). No tengo ningún proyecto elegido, asi que había pensado en que las personas que deseen participar lo decidan. Con visual me defiendo bastante (escepto BD que no tengo ni pajolera idea.) Y en c, pues sé poquito, pero algo me defiendo.

    Bueno quienes quieran participar, que escriban, y propongan un programa a crear.

    A mi se me había ocurrido, un scanner (bastante básico auque según como fuera se podría mejorar), no se, un chat par los de hack hispano con conexiónes bien encriptadas... bueno piensen apuntense y opinen .

    Saludos!!
    ---==Є£~CHΔCΔL==---

    ««--La curiosidad mató al gato, a mi me mostro las puertas--»»
    http://www.hacktheuniverse.tk
    Citar  
     

  2. #2  
    Co-Admin HackHispano.com Avatar de clarinetista
    Fecha de ingreso
    Jan 2004
    Ubicación
    HackHispano/SM
    Mensajes
    7.773
    Descargas
    31
    Uploads
    8
    Gran idea The_chacal.
    Tengo un poco olvidado el Visual, pero hay muchos usuarios que lo tienen al día.
    Consolida el proyecto y le pondremos un subforo para su desarrollo.
    Saludos
    Citar  
     

  3. #3  
    Moderador HH
    Fecha de ingreso
    Nov 2006
    Mensajes
    1.516
    Descargas
    7
    Uploads
    0
    Vaya... no se si estare a la altura en el VB pero bueno, de alguna manera hay que aprender. Y que mejor modelo para aprender que la panda de HH
    jaja

    Yo me apunto

    Un saludo

    PD: Un Scanner de puertos estaria genial!! Lo del chat... bueno, tambien, pero el problema que yo veo es que seria solo para HH, y seria algo mejor que estuviese disponible a todos los usuarios de internet (asi lo veo yo, vamos, es mi opinion, nada mas)
    Mess with the best, die like the rest.


    Hazle a los demas... antes de que te hagan a ti.
    Citar  
     

  4. #4  
    Co-Admin HackHispano.com Avatar de clarinetista
    Fecha de ingreso
    Jan 2004
    Ubicación
    HackHispano/SM
    Mensajes
    7.773
    Descargas
    31
    Uploads
    8
    Hombre, RaidMan, depende que enfoque le des, se puede hacer una aplicación cliente-servidor que permita al usuario introducir los parámetros de conexión
    Luego ya meteremos la publicidad subliminal en algún lado, jejeje.
    Citar  
     

  5. #5  
    HH Administrator Avatar de LUK
    Fecha de ingreso
    Oct 2001
    Ubicación
    SpaÑa
    Mensajes
    5.284
    Descargas
    223
    Uploads
    250
    Una idea genial.. ya sabeis que para cualquier proyecto de HACKHiSPANO teneis disponible un foro propio y espacio web para trabajar

    Un escaner de puertos es muy buena idea...
    Última edición por clarinetista; 11-02-2008 a las 00:28
    [][][] LUK [][][]
    hackhispano.com
    Citar  
     

  6. #6  
    Avanzado
    Fecha de ingreso
    Sep 2002
    Ubicación
    En mi chavola
    Mensajes
    194
    Descargas
    4
    Uploads
    0
    Genial!

    Pues si os parece bien el proyecto, solo hay que ir apuntandose, cualquier aporte va a ser bueno , asi que Raidman no te preocupes si aún estás empezando también será una buena forma de ir aprendiendo.

    Nada mas que decir, si os parece bien el scanner de puertos podremos empezar a partir de ya jejej.

    Bueno, había pensado que para este proyecto, a parte de programar si quereis darle un diseño, también podeis ir poniendo imágenes o diseñar botones, lo que se os ocurra.

    Yo en cuento tenga un hueco empezaré con el código fuente, y lo iré subiendo. Podeis modificar lo que querais, simplemente lo volveis a subir y apuntais que habeis cambiado.

    Nos vemos pronto .
    ---==Є£~CHΔCΔL==---

    ««--La curiosidad mató al gato, a mi me mostro las puertas--»»
    http://www.hacktheuniverse.tk
    Citar  
     

  7. #7  
    Avanzado
    Fecha de ingreso
    Sep 2002
    Ubicación
    En mi chavola
    Mensajes
    194
    Descargas
    4
    Uploads
    0
    Bueno, ya he empezado con el lío jeje.

    Lo más básico ya está. Y aquí aparece el primer problema. La cuestién está en que si por ejemplo conectamos el socket a un puerto hasta que este no "termine" no podemos cerrarlo y pasar al siguiente.
    He pensado en la creación de un algoritmo que controle un determinado número de sockets, (los justos para que la velocidad sea la óptima), activando un x nº de ellos, aquellos que ya puedan usarse, de manera que siempre exista por lo menos uno realizando una conexión.

    No sé si me he explicado bien.

    Hoy iré planteandolo, cuando querais que suba el código me lo decis.

    Espero vuestras ayudas .
    ---==Є£~CHΔCΔL==---

    ««--La curiosidad mató al gato, a mi me mostro las puertas--»»
    http://www.hacktheuniverse.tk
    Citar  
     

  8. #8  
    Avanzado
    Fecha de ingreso
    Sep 2002
    Ubicación
    En mi chavola
    Mensajes
    194
    Descargas
    4
    Uploads
    0
    http://rapidshare.com/files/90901849/scanner.rar.html

    Ahí lo teneis.

    Espero más participación!!
    ---==Є£~CHΔCΔL==---

    ««--La curiosidad mató al gato, a mi me mostro las puertas--»»
    http://www.hacktheuniverse.tk
    Citar  
     

  9. #9  
    Moderador HH
    Fecha de ingreso
    Nov 2006
    Mensajes
    1.516
    Descargas
    7
    Uploads
    0
    No serviria simplemente añadir mas Winsocks? Que cada winsock se active cuando se vaya a escanear el puerto que tiene el puesto.

    Ahora lo miro y a ver si puedo aportar algo mas

    Un saludo
    Mess with the best, die like the rest.


    Hazle a los demas... antes de que te hagan a ti.
    Citar  
     

  10. #10  
    Avanzado
    Fecha de ingreso
    Sep 2002
    Ubicación
    En mi chavola
    Mensajes
    194
    Descargas
    4
    Uploads
    0
    Pero si tienes un rango de 8000 puertos xD... la cosa se va de marras. Si metemos en vez de 3, 30 pues entonces se multiplicaria x 10 la v. teóricamente, pero como yo lo he planteado no se conectan en paralelo si no en serie, de forma que el segundo conecta cuando el primero ha conectado o fallado, para que que el primero tenga tiempo de cerrarse y volver a conectar. Lo difícil es eso.

    Espero que entendais lo que digo jeje.
    ---==Є£~CHΔCΔL==---

    ««--La curiosidad mató al gato, a mi me mostro las puertas--»»
    http://www.hacktheuniverse.tk
    Citar  
     

  11. #11  
    Moderador HH
    Fecha de ingreso
    Nov 2006
    Mensajes
    1.516
    Descargas
    7
    Uploads
    0
    Si, lo entiendo... el problema es que no puedes hacer que intente scannear dos puertos a la vez, porque no sabes que nº de puertos va a pedir el usuario a scannear.

    Ademas de que hasta que no se haya cerrado el socket no podemos abrir otro, a menos que añadamos, como has dicho, 80.000 WinSocks si es el nº de puertos que se piden...

    La unica solucion que veo es esa, cerrar el Winsock y luego volverle a abrir para que envie otra conexion...


    Un saludo
    Mess with the best, die like the rest.


    Hazle a los demas... antes de que te hagan a ti.
    Citar  
     

  12. #12  
    Moderador HH
    Fecha de ingreso
    Nov 2006
    Mensajes
    1.516
    Descargas
    7
    Uploads
    0
    Vale...

    Le he añadido alguna que otra cosilla, me di cuenta de que tenia algun que otro error el codigo, como algun ws_close (en lugar de ws.close) y cosas asi, lo tipico por las prisas y tal. Y luego he añadido otra cosilla, la he puesto, porque me he dado cuenta de que cuando se ponia a escanear, escaneaba hasta el rango que tu le habias dado +1, es decir, si pones desde 50-52 escaneaba hasta 53.

    Ahi os lo dejo, añadid cosas http://rapidshare.com/files/90985341/scanner_II_.rar

    Un saludo
    Mess with the best, die like the rest.


    Hazle a los demas... antes de que te hagan a ti.
    Citar  
     

  13. #13  
    Avanzado
    Fecha de ingreso
    Sep 2002
    Ubicación
    En mi chavola
    Mensajes
    194
    Descargas
    4
    Uploads
    0
    xD, lo del segundo fallo es ceirto pero lo que dices de ws_close es una llamada a la función que lo uqe hace es ws.close , voy a mirar a ver que podemos hacer para optimizar la velocidad. Gracias por tu aporte raidman, espèror que halla mas gente que se anime...
    ---==Є£~CHΔCΔL==---

    ««--La curiosidad mató al gato, a mi me mostro las puertas--»»
    http://www.hacktheuniverse.tk
    Citar  
     

  14. #14  
    Moderador HH
    Fecha de ingreso
    Nov 2006
    Mensajes
    1.516
    Descargas
    7
    Uploads
    0
    Ya ya.
    Pero antes ponia:

    Private Sub Ws_Close()
    Ws_close <--- No seria Ws.Close??
    Esas son algunas de las modificaciones que he hecho, aparte del boton de parar y la parada automatica y lo de quitar la cuenta de mas de puertos

    Un saludo

    PD: Para optimizar la velocidad? te refieres a las conexiones o a la ejecucion del programa??
    Si es lo de las conexiones... cuantos menos Winsock tengamos mejor, pero habria que meter mas codigo, mucho mas... pero bueno, todo se estudiara y si no A VER CUANDO VIENEN ESOS MAESTROS DEL C
    Última edición por RaidMan; 11-02-2008 a las 22:02
    Mess with the best, die like the rest.


    Hazle a los demas... antes de que te hagan a ti.
    Citar  
     

  15. #15  
    Avanzado
    Fecha de ingreso
    Sep 2002
    Ubicación
    En mi chavola
    Mensajes
    194
    Descargas
    4
    Uploads
    0
    Private Sub Ws_Close()
    Ws.Close
    sca = 1
    End Sub


    En mi código está así...
    ---==Є£~CHΔCΔL==---

    ««--La curiosidad mató al gato, a mi me mostro las puertas--»»
    http://www.hacktheuniverse.tk
    Citar  
     

  16. #16  
    Moderador HH
    Fecha de ingreso
    Nov 2006
    Mensajes
    1.516
    Descargas
    7
    Uploads
    0
    mira el
    Private Sub Ws2_Connect()
    Ws2_Close <--- (Creo que seria Ws2.Close, no?)
    po.AddItem Ws2.RemotePort

    End Sub
    Pero tampoco me hagas mucho caso, que soy bastante nuevo en esto...jeje

    Un saludo
    Mess with the best, die like the rest.


    Hazle a los demas... antes de que te hagan a ti.
    Citar  
     

  17. #17  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Buenas! He echado un vistazo al proyecto, y bueno, os recomendaría que os olvidáseis de usar un Timer para sincronizar los Sockets clientes... La forma de proceder sería (para un solo socket), sería la siguiente:

    1º Escuchar en el puerto tal...
    2º Si error al conectar...
    i) Desactivar el socket
    ii) Incrementar el puerto a conectar
    iii) Asignar el puerto incrementado al socket
    iv) volver a conectar

    3º Si no error
    i) Desactivar el Socket
    ii) Devolver el puerto conectado para añadirlo a la lista de puertos abiertos
    iii) Incrementar el contador de puertos
    iv) Asignar el puerto al Socket
    v) Conectar el socket

    Como veis, el propio socket cliente es el que sincroniza las acciones, y no un Timer.

    Para aumentar la velocidad, una opción bastante eficiente y como bien habéis dicho es poner dos sockets, y que trabajen conjuntamente, (como un procesador de doble nucleo ), de manera que para repartir equitativamente la tarea, un socket se encargue por ejemplo de los puertos pares y otro de los impares... (para evitar que un socket "reescanee" un puerto que ya fue escaneado por el otro...).

    Habéis aplicado una técnica de divide y vencerás

    Claro que esto aumentaría el doble la velocidad, reduciendo el tiempo total a la mitad.

    Pero lo ideal es hacerlo en el menor tiempo posible... una opción sería crearse un array de tamaño prefijado por un umbral, cuyos elementos son Sockets...y cada elemento del vector se encargaría de un subrango de puertos a escanear... y es eficiente, pero si no os parece buena la idea... ¿habéis oido hablar de los clusters? La forma de enfocarlo sería parecida... un sistema basado en memoria distribuida, y para ello podeis utilizar multihilos.

    PD. me niego a escribir código en VB...

    Un saludo
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

  18. #18  
    Avanzado
    Fecha de ingreso
    Sep 2002
    Ubicación
    En mi chavola
    Mensajes
    194
    Descargas
    4
    Uploads
    0
    jejeje, gracias por el aporte.

    Bueno explico una cosa, a los dichosos winsockets siempre les he tenido manía por que son algo "impredecibles". Tienes razón en lo de que es una locura tratar de sincronizarlos mediante un timer (ya que podrá coindcidir con ese tiempo, o no), de manera que podrán quedarse puertos sin analizar etc.

    El problema es, que si tu haces por ejemplo un bucle, y cuando el socket se conecta en el bucle le dices que se cierre y a continuación conecte al siguiente puerto, no hay una manera segura de cercionarse de que ese socket está listo para una nueva conexión (o al menos la desconozco).

    Por tanto hay un problema de irregularidad, que hay que solucionar. Si se consigue "sincronizar" de manera que pudisiemos saber en que momento exacto podemos volver a usar ese socket (ya que aunque sepamos que ha conectado y lo estemos cerrando no podemos definir un instate exacto). Realmente no es solo dividir para que vaya mas deprisa, si no para darle un tiempo al socket para que pueda volverse a utilizar. El problema es que como no es estable, no se puede definir un tiempo exacto. Y hay que darle algo en exceso, y eso con un bucle simple es muy complicado (de ahí el timer).

    A ver quien le da solución a esto. Mañana sigo adelante.

    Buenas noches a tod@s.

    P.D: Raidman, es lo mismo por que si miras la funcion Ws2_close -> ws.close (esta en connect, por que una vez se ha conectado a ese puerto hay que cerrarlo de nuevo para que pueda conectarse a otro. )
    Última edición por The_chacal; 12-02-2008 a las 02:25
    ---==Є£~CHΔCΔL==---

    ««--La curiosidad mató al gato, a mi me mostro las puertas--»»
    http://www.hacktheuniverse.tk
    Citar  
     

  19. #19  
    Moderador HH
    Fecha de ingreso
    Nov 2006
    Mensajes
    1.516
    Descargas
    7
    Uploads
    0
    Cita Iniciado por hystd Ver mensaje
    Buenas! He echado un vistazo al proyecto, y bueno, os recomendaría que os olvidáseis de usar un Timer para sincronizar los Sockets clientes... La forma de proceder sería (para un solo socket), sería la siguiente:

    1º Escuchar en el puerto tal...
    2º Si error al conectar...
    i) Desactivar el socket
    ii) Incrementar el puerto a conectar
    iii) Asignar el puerto incrementado al socket
    iv) volver a conectar

    3º Si no error
    i) Desactivar el Socket
    ii) Devolver el puerto conectado para añadirlo a la lista de puertos abiertos
    iii) Incrementar el contador de puertos
    iv) Asignar el puerto al Socket
    v) Conectar el socket

    Como veis, el propio socket cliente es el que sincroniza las acciones, y no un Timer.


    Un saludo

    Pero esta accion no consumiria muchos recursos??
    Quiero decir, si esta continuamente abriendo y cerrando Sockets, no consumiria bastantes recursos??

    Seria mas facil que con un Timer, y luego lo de los pares e impares le daria un buen toque de velocidad...

    Todo se andara

    Un saludo
    Mess with the best, die like the rest.


    Hazle a los demas... antes de que te hagan a ti.
    Citar  
     

  20. #20  
    Avanzado
    Fecha de ingreso
    Feb 2002
    Mensajes
    161
    Descargas
    15
    Uploads
    0
    hola a todos , bro a mi me facinan las conexiones SOCK jejeje quien sabe porque, pero lo de la encriptacion pues ese es mi duo dinamico jejej

    estaria bien hacer un cliente-servidor, todos tendriamos que programar el propio solo dejando como regla el puerto al cual nos podremos conectar con otros usuarios al = que los comandos permitidos o poder interpretar en cada uno
    ejemplo

    msj//aqui el mensaje escrito
    user//nombre del usuario con quien platico
    port//6547


    este es un ejemplo basico todos los comandos que podriamos interpretar tendrian que estar antes de dos diagonales "//" y lo que esta despues seria lo que le dariamos uso.

    bueno no se me emocione bastante rapido, y la APP tendria un puerto local siempre a la escucha ara esperar conexiones entrantes y mandarlos a otro puerto y no dejar de escuchar uno en especifico.

    espero haberme explicado, pero aqui estoy a sus ordenes y a lo que sea por cierto tambien odio los DB, quizas hago mal o bien pero uso mis propios metodos de guardado de informacion en texto plano, digo cada quien sus gustos a quienes nos gustan batallar y a otros no, jejej a quienes nos gusta reinventar la rueda, quizas mas latoso pero mas ilustrativo en lo personal, saludos
    Citar  
     

Temas similares

  1. Proyecto de taller de programacion
    Por smaug_ en el foro HACK HiSPANO
    Respuestas: 106
    Último mensaje: 10-12-2010, 10:37
  2. Proyecto.
    Por PiSoC en el foro OFF-TOPIC
    Respuestas: 4
    Último mensaje: 12-03-2007, 23:16
  3. Proyecto PC
    Por LastDisaster en el foro HARDWARE
    Respuestas: 26
    Último mensaje: 05-11-2006, 08:11
  4. Proyecto gandalf
    Por juanma.m.d en el foro NOTICIAS
    Respuestas: 32
    Último mensaje: 07-02-2004, 15:42
  5. Apoyo en mi proyecto
    Por .Yok3R. en el foro GENERAL
    Respuestas: 3
    Último mensaje: 14-05-2003, 23:43

Marcadores

Marcadores