Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-11-2006
manoley23 manoley23 is offline
Miembro
 
Registrado: jul 2003
Posts: 18
Poder: 0
manoley23 Va por buen camino
como desarrollar un firewall

Buenas!!

Estoy interesado en hacer una especie de firewall sencillito, pero no se muy bien como empezar. Tengo alguna experiencia en programación con sockets, pero me temo que para hacer un firewall decente debería utilizar llamadas a la API de Windows a más bajo nivel.

Si alguien me pudiera dar alguna pista para empezar se lo agradecería, luego yo ya me buscaría la vida.

Saludos y gracias!

Manolo.
Responder Con Cita
  #2  
Antiguo 07-11-2006
tefots tefots is offline
Miembro
 
Registrado: feb 2005
Posts: 108
Poder: 20
tefots Va por buen camino
Cita:
Empezado por manoley23
Buenas!!

Estoy interesado en hacer una especie de firewall sencillito, pero no se muy bien como empezar. Tengo alguna experiencia en programación con sockets, pero me temo que para hacer un firewall decente debería utilizar llamadas a la API de Windows a más bajo nivel.

Si alguien me pudiera dar alguna pista para empezar se lo agradecería, luego yo ya me buscaría la vida.

Saludos y gracias!

Manolo.
Hola ,
como te imaginas , lo del firewall no tiene nada que ver con la programacion de sockets , tendrás que acceder al api para capturar cuando alguna aplicacion use puertos , bloquearlos , denegarles el acceso o concederselo (bloqueando el proceso , o bloqueando el puerto).

desconozco dicha api , o cuales son las llamadas a realizar , pero queo que los tiros pueden ir por aqui http://delphi.about.com/od/fullcodep.../aa112903a.htm

mirate la iphelp api , ftp://ftp.delphi-jedi.org/api/IPHlpAPI.zip , lleva un par de demos , un clone del netstat , y route.

son llamadas indocumentadas, con lo que tendrás que buscarte un poco la vida , para ver que llamadas has de llamar.

saludos
Responder Con Cita
  #3  
Antiguo 07-11-2006
manoley23 manoley23 is offline
Miembro
 
Registrado: jul 2003
Posts: 18
Poder: 0
manoley23 Va por buen camino
Muchas gracias tefots! De momento ya tengo para pelearme un rato.
Cualquier avance, os cuento!

Manolo.
Responder Con Cita
  #4  
Antiguo 07-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por manoley23
Estoy interesado en hacer una especie de firewall sencillito, pero no se muy bien como empezar. Tengo alguna experiencia en programación con sockets, pero me temo que para hacer un firewall decente debería utilizar llamadas a la API de Windows a más bajo nivel.
Pues me temo que no lo podrás hacer, al menos con Delphi. Los firewall están a mas "bajo nivel" del que tu piensas, de hecho son drivers, es decir, se ejecutan a nivel del Kernel. Delphi tiene sus limites, y unos de ellos es que no puede compilar drivers.

Si tienes mucho interés, puedes bajarte el Driver Development Kit de la web de microsoft, dentro del kit encontraras un compilador capaz de generar drivers, cabeceras, librerías e incluso algún ejemplo. Lo malo es que es programación en C al mas puro estilo "Bloc de notas", que los drivers son muy difíciles de depurar y que cualquier error al ejecutarse a nivel del kernel provoca la caída de todo el sistema. Pero los ejemplos son muy interesantes, y echarles un vistazo nunca esta de mas para saber como funcionan las tripas de windows.

Por ultimo, puede que en vez de un firewal te conformes con hacer un Proxy, esto si que lo puedes hacer con Delphi. Ni siquiera tendrías que bajar hasta los sokects, podrías implementar un Proxy para http con Indy de una manera muy sencilla. Pero claro, no es lo que tu pedías ...
Responder Con Cita
  #5  
Antiguo 07-11-2006
manoley23 manoley23 is offline
Miembro
 
Registrado: jul 2003
Posts: 18
Poder: 0
manoley23 Va por buen camino
gracias Seoane, y por lo que ando leyendo por ahi, me temo que tienes toda la razón... existen herramientas para construir un sniffer, pero p ej. para bloquear puertos tendría que ir mas abajo aun...
Responder Con Cita
  #6  
Antiguo 07-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
En windows tampoco es sencillo hacer un sniffer, al fin y al cabo también se ejecutan a nivel del kernel, pero hay herramientas como Wireshark que te pueden facilitar el trabajo.

Lo único que se puede hacer con funciones de la API, hasta donde yo se, son monitores de red tipo netstat como ya te indico tefots. Pero se limitan a monitorizar el trafico, ni se puede controlarlo, ni echarle un vistazo a los paquetes como haría un sniffer.
Responder Con Cita
  #7  
Antiguo 07-11-2006
tefots tefots is offline
Miembro
 
Registrado: feb 2005
Posts: 108
Poder: 20
tefots Va por buen camino
pues entonces si es al nivel de drivers , es mas complicado , tendrás que realizar una aplicacion/dll en modo kernel que haga de interfaz ,y a través de esta conectarte al driver tcpip.sys.

sobre sniffers, tambien es en modo kernel , para el que le interese aqui hay una demo, hecha en delphi
http://www.felix-colibri.com/papers/...ml#ip_help_api

aqui hay mas info basica de como hacer un firewall en windows
http://www.ntndis.com/w&p.php?id=14

tambien puedes usar alguna dll ya hecha que te haga de interfaz entre el driver y tu aplicación , supongo que habrán gratuitas , como esta http://www.effectmatrix.com/easysec/. , solo tienes que declarar las funciones en delphiy usarlas. , por cierto , viene con documentacion http://www.effectmatrix.com/easysec/...sdk-manual.doc.

saludos.

Última edición por tefots fecha: 07-11-2006 a las 17:03:59.
Responder Con Cita
  #8  
Antiguo 12-07-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Cita:
Empezado por seoane
En windows tampoco es sencillo hacer un sniffer, al fin y al cabo también se ejecutan a nivel del kernel
He visto este hilo por casualidad...

Bueno ya hemos visto que no es tan difícil fiscalizar y compartir un puerto, verdad ??
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #9  
Antiguo 12-07-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por ArdiIIa
Bueno ya hemos visto que no es tan difícil fiscalizar y compartir un puerto, verdad ??
Caramba !!! Resucitando hilos para hacerme comer mis palabras Jejeje

Pues la verdad es que no he tenido tiempo de revisar tu ejemplo Ardilla, lo haré en cuanto pueda. Pero sigo afirmando que la mayoría, por no decir todos, los firewall (incluidos antivirus) actúan a nivel del kernel. Claro que puede haber mas alternativas (ahora mismo se me ocurre hacer un hook a las APIS del winsock) , pero si normalmente se usa esa forma, por algo sera.
Responder Con Cita
  #10  
Antiguo 12-07-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Cita:
Empezado por seoane
Caramba !!! Resucitando hilos para hacerme comer mis palabras Jejeje
Ni mucho menos...., Faltaría !!!

Me refería concretamente al asunto el sniffer.


PD: Ahora estoy también mirando un hilo del 2006 sobre WAN IP Address y snmp, que parece que no quedó muy claro, y la verdad es que hasta ahora, no encuentro nada óptimo...
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #11  
Antiguo 12-07-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por ArdiIIa
Ahora estoy también mirando un hilo del 2006 sobre WAN IP Address y snmp
Eso, eso ... empieza a revisar todos mis hilos. Tengo algunos del 2004 en los que no estuve muy fino

De todas formas, en el hilo del que hablas, recuerdo haber buscado por todas partes el OID para obtener la ip, y no fui capaz de encontrar nada. Espero que tu tengas mas suerte

Por cierto, y sin que venga a cuento, buscando mis primeros hilos veo que hay un paréntesis de dos años, entre mis 4 primeros mensajes y el resto. Parece que no me lleve muy buena impresión del club la primera vez que vine
Responder Con Cita
  #12  
Antiguo 12-07-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Cita:
Empezado por seoane
Eso, eso ... empieza a revisar todos mis hilos. Tengo algunos del 2004 en los que no estuve muy fino
Valeeee!! pero creo que ahora, actualmente, me tiene mas cuenta o casi mas cuenta irme a tu web..., la que por cierto "mola mogollon".
Cita:
Empezado por seoane
De todas formas, en el hilo del que hablas, recuerdo haber buscado por todas partes el OID para obtener la ip, y no fui capaz de encontrar nada. Espero que tu tengas mas suerte
Casi todos los caminos me conducen al php, java, etc... Pues vaya tontería, mira que ni el IPCONFIG, ni el NSLOOKUP sacan nada en claro.

No me puedo creer que los router ejerzan tal ocaso...

Cita:
Empezado por seoane
Por cierto, y sin que venga a cuento, buscando mis primeros hilos veo que hay un paréntesis de dos años, entre mis 4 primeros mensajes y el resto. Parece que no me lleve muy buena impresión del club la primera vez que vine
Mas o menos algo parecido a lo mio (rachas de inasistencia), pero lo mío fueron otras cosas.
No obstante, si no recuerdo mal, yo ya tenía contacto con el club de delphi antes de su propia existencia.....
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #13  
Antiguo 14-03-2009
josejp1 josejp1 is offline
Miembro
 
Registrado: oct 2008
Posts: 42
Poder: 0
josejp1 Va por buen camino
Bueno si quieres empezar por hacer un sniffer aquí tienes un ejemplo

http://delphimagic.blogspot.com/2009...on-delphi.html
Responder Con Cita
  #14  
Antiguo 20-03-2009
Alzheimer Alzheimer is offline
Miembro
 
Registrado: mar 2009
Posts: 16
Poder: 0
Alzheimer Va por buen camino
hola gente...>
estoy realmente interesado en todo esto de poder manipular a mi antojo los puertos de red sobre Windows... y es que estoy cansado de tener tantos puertos de red abiertos por gusto y windows es realmente un colador de gente si se está conectado a Internet... debrían ver lo limpias que estan las máquinas que trabajan bajo SO Ubuntu cuando sueltas un scan de puertos en ella...>>> casi nada está abierto, y los que están están porque el usuario quiere....

creo que realmente me es necesario controlar el flujo de información que se manipula en mi máquina a través de la red y para eso debo cerrar unos cuantos puertos que no necesito que estén abiertos.!!!

necesito su ayuda!!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como puedo empezar a desarrollar Neiro Internet 2 10-10-2006 16:14:24
Que firewall recomiendan?? gmontes Seguridad 6 16-08-2006 18:44:13
Firewall con IPTables lafirma Linux 2 24-07-2006 20:59:24
Como desarrollar para IPAQ erasmorc OOP 1 02-02-2005 16:03:21
Como desarrollar aplicación para Servidor y Cliente FTP victork_py Internet 1 14-05-2003 03:24:01


La franja horaria es GMT +2. Ahora son las 09:56:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi