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.