Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/10/2012, 17:04
warbandit69
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Capturar información desde dispositivo TCP/IP (C# y HarpPcap)

Buenas Tardes a todos, muchas gracias por leer mi post.

En esta ocasión vengo a preguntarles como puedo realizar un sniffer sencillo para un dispositivo tcp ip como lo es el capta huellas ANVIZ Ep300, ya logre conectarme con el mediante programación de sockets. pero cuando trato de escuchar lo que el dispositivo me envia me sale error.

Consegui un SDK pero esta en una version vieja de visual basic y trabajo con c# 2010. -> http://www.microcom.com.ar/anviz/sdk.rar

Este es el codigo que me funciona (Si se conecta)

Código:
private void Conectar()
        {

            try
            {
                string ip_equipo = radTextBox1.Text;
                int puerto = Convert.ToInt32(radTextBox2.Text);
                IPAddress add = IPAddress.Parse(ip_equipo);
                IPEndPoint endpnt = new IPEndPoint(add, puerto);  //995-25(smtp)-110(pop3)-119-143-456-563-587-993-995
                Socket skt = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                skt.Connect(endpnt);
                MessageBox.Show(skt.Connected.ToString());
                if (skt.Connected == true)
                {
                    try
                    {
                        IDNumber = Convert.ToInt32(radTextBox4.Text);
                        ANVIZ2.CKT_RegisterNet(IDNumber, radTextBox1.Text);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                }                       
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Y este es le codigo donde intento capturar lo que el dispositivo me envia, que me da un error de que se cerro la conexion

Código:
private void escuchar4()
        {
            int backlog = 0;
            string ip_equipo = radTextBox1.Text;
            int puerto = Convert.ToInt32(radTextBox2.Text);
            // create the socket
            Socket listenSocket = new Socket(AddressFamily.InterNetwork,
                                             SocketType.Stream,
                                             ProtocolType.Tcp);

            // bind the listening socket to the port
            IPAddress add = IPAddress.Parse(ip_equipo);
            //IPEndPoint endpnt = new IPEndPoint(add, puerto);
            IPEndPoint ep = new IPEndPoint(add, puerto);
            listenSocket.Bind(ep); //<-Always getting error here

            // start listening
            listenSocket.Listen(backlog);

        }
Gracias por leer mi post, y agradezco cualquier ayuda por adelantado.
__________________
http://www.solucionesrios.tk/

Visita mi Web!