слушать конкретный порт c # - PullRequest
0 голосов
/ 23 февраля 2012

Я хочу слушать определенный порт в c #, но я не хочу писать программу чата в сети. Я просто хочу прослушать порт и получить все байты, поступающие с этого порта. Я задавал этот вопрос раньше, но я не получил полезного ответа. Я снова говорю, я не хочу иметь клиентскую и серверную программу, я хочу просто иметь одну программу, которая запускается на моем компьютере и показывает мне, какие байты получены с определенного порта, или программу, которая показывает мне, какой IP подключен к каждому порту, как команда «netstat» в CMD (я не хочу использовать команду CMD в моей программе на C #) пожалуйста, помогите мне.

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

Я думаю, это должно помочь вам начать.Это покажет вам информацию, аналогичную netstat:

using System;
using System.Net;
using System.Net.NetworkInformation;

static void Main()
{

    IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties();
    TcpConnectionInformation[] tcpConnections = ipGlobalProperties.GetActiveTcpConnections();

    foreach (TcpConnectionInformation tcpConnection in tcpConnections)
    {
        Console.WriteLine("Local Address {0}:{1}\nForeign Address {2}:{3}\nState {4}",
                        tcpConnection.LocalEndPoint.Address,
                        tcpConnection.LocalEndPoint.Port,
                        tcpConnection.RemoteEndPoint.Address,
                        tcpConnection.RemoteEndPoint.Port,
                        tcpConnection.State);
    }
}

Чтобы прослушать порт, образец кода, предоставленный Microsoft здесь , должен помочь вам.

0 голосов
/ 23 февраля 2012

Вам нужен сниффер.Проверьте Wireshark out.

...