2010-06-01 15 views
10

Me gustaría conectarme de algún modo a la pila de red del sistema local para capturar los paquetes de red salientes sin usar Winpcap. Desafortunadamente, tiende a bloquear mi sistema de vez en cuando.Cómo detectar el tráfico de red saliente local en .NET sin utilizar PCap?

¿Hay alguna forma de "olfatear" el tráfico saliente del sistema local desde un proceso de espacio de usuario escrito en un lenguaje .NET?

+2

¿Quiere decir que desea rastrear el tráfico procedente de un proceso .NET o que desde un proceso .NET desea rastrear todo el tráfico saliente? (Sospecho que el último) –

+0

Sí, tienes razón. Necesito lo último. –

Respuesta

11

Lo que quiere es Network Monitor API. Más here y here.

+0

Hola Mike, el enlace para NMCaptureData está muerto. Gracias –

+0

Lástima, actualicé mi publicación a algo que encontré que parece relevante (otro ejemplo de un proyecto C# utilizando la API NM). –

1

Uso smsniff de NIRSOFT. Debe ser administrador de la máquina para olfatear el tráfico.

http://www.nirsoft.net/utils/smsniff.html

.NET nunca he visto utilizado para rastrear el tráfico. Pero tal vez NetMon de Microsoft tiene una interfaz COM a la que llama desde .NET

Pero como siempre, debe ser administrador para olfatear el tráfico, ya que es necesario poner la NIC en modo promiscuo.

+0

Obtener los derechos de administrador no debería ser un problema ya que el programa en el que estoy trabajando es principalmente para mi propio uso. Bueno, si alguien más quisiera tener un programa que rastree las solicitudes HTTP a tipos de archivos específicos y, después de encontrar tal solicitud, ofrezca una forma de descargar realmente esos archivos (como videos, mp4, flv) estoy seguro de que puedo hacerlo público en algún lugar del camino. No quiero pasar por todo el lío de escribir un proxy HTTP totalmente funcional, por lo que olfatear es la única alternativa. –

+1

Pruebe fiddler como proxy de depuración de HTTP. IT rulez http://www.fiddler2.com/fiddler2/ – ggonsalv

+0

Sí, Fiddler es genial. Estoy usando FiddlerCore para rastrear las solicitudes HTTP con mi aplicación hasta ahora. Pero me gustaría capturarlos independientemente de la configuración proxy de los navegadores. –

Cuestiones relacionadas