написать порт слушатель - PullRequest
0 голосов
/ 03 марта 2012

Я написал приложение, похожее на сниффер, оно может прослушивать порт и показывать пользователю информацию, передаваемую между вашим компьютером и Интернетом, такую ​​как источник и адрес назначения.URL-адрес Вместо IP-адреса это возможно?Я работаю с розетками.

private byte[] byUDPData = new byte[4096];  //Data carried by the UDP packet

    public UDPHeader(byte [] byBuffer, int nReceived)
    {
        MemoryStream memoryStream = new MemoryStream(byBuffer, 0, nReceived);
        BinaryReader binaryReader = new BinaryReader(memoryStream);

        //The first sixteen bits contain the source port
        usSourcePort = (ushort)IPAddress.NetworkToHostOrder(binaryReader.ReadInt16());

        //The next sixteen bits contain the destination port
        usDestinationPort = (ushort)IPAddress.NetworkToHostOrder(binaryReader.ReadInt16());

        //The next sixteen bits contain the length of the UDP packet
        usLength = (ushort)IPAddress.NetworkToHostOrder(binaryReader.ReadInt16());

        //The next sixteen bits contain the checksum
        sChecksum = IPAddress.NetworkToHostOrder(binaryReader.ReadInt16());            

        //Copy the data carried by the UDP packet into the data buffer
        Array.Copy(byBuffer, 
                   8,              
                   byUDPData, 
                   0, 
                   nReceived - 8);
    }

Ответы [ 2 ]

1 голос
/ 03 марта 2012

Обычно в этом нет необходимости.Взгляните на Wire Shark .Вы можете написать свои собственные анализаторы протоколов и другие надстройки, если вы не можете найти именно то, что вам нужно.

Кроме того, взгляните на WinPCap , который позволяет вашему приложению использовать те же возможности прослушивания Wire Shark.

0 голосов
/ 03 марта 2012

Когда вы говорите

URL-адрес вместо IP-адреса

Вы имеете в виду имя DNS?В этом случае вам нужно использовать класс dns и метод Dns.GetHostEntry для поиска имени по IP-адресу.

Если вы ищете информацию об URL, то, как сказал @David Schwartz,Вам придется декодировать все захваченные данные, которые могут содержать или не содержать URL-адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...