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:
Y este es le codigo donde intento capturar lo que el dispositivo me envia, que me da un error de que se cerro la conexionprivate 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()); } }
Código:
Gracias por leer mi post, y agradezco cualquier ayuda por adelantado. 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); }