powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WIFI снифер.
25 сообщений из 28, страница 1 из 2
WIFI снифер.
    #38894310
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть модули передающие/принимающие по WIFI .Я хочу подключитья к ним.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
 private void buttonStart_Click(object sender, EventArgs e)
        {
            if (comboBoxInterfaces.SelectedIndex == -1)
            {
                MessageBox.Show("Select an Interface to capture the packets.", "WIFI Sniffer",
                   MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            try
            {
                if (!continue_capturing)
                {
                    //Start capturing the packets...

                    buttonStart.Text = "&Stop";

                    continue_capturing = true;

                    //For sniffing the socket to capture the packets has to be a raw socket, with the
                    //address family being of type internetwork, and protocol being IP
                    mainSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);

                    //Bind the socket to the selected IP address
                    mainSocket.Bind(new IPEndPoint(IPAddress.Parse(comboBoxInterfaces.SelectedItem.ToString()), 0));

                    //Set the socket  options
                    mainSocket.SetSocketOption(SocketOptionLevel.IP,            //Applies only to IP packets
                                               SocketOptionName.HeaderIncluded, //Set the include the header
                                               true);                           //option to true

                    byte[] byTrue = new byte[4] { 1, 0, 0, 0 };
                    byte[] byOut = new byte[4] { 1, 0, 0, 0 }; //Capture outgoing packets

                    //Socket.IOControl is analogous to the WSAIoctl method of Winsock 2
                    mainSocket.IOControl(IOControlCode.ReceiveAll,              //Equivalent to SIO_RCVALL constant
                        //of Winsock 2
                                         byTrue,
                                         byOut);

                    //Start receiving the packets asynchronously
                    mainSocket.BeginReceive(byte_data, 0, byte_data.Length, SocketFlags.None,
                        new AsyncCallback(OnReceive), null);
                }
                else
                {
                    buttonStart.Text = "&Start";
                    continue_capturing = false;
                    //To stop capturing the packets close the socket
                    mainSocket.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "MJsniffer", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }


Получаю эксепшен: An attempt was made to access a socket in a way forbidden by its access permission.
А как задать нужный access permission?
...
Рейтинг: 0 / 0
WIFI снифер.
    #38894981
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

Может вам надо заинперсонейтиться в качестве админа или запустить вашу прогу As Administrator.
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895001
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_voronin,

пробовал. все равно ругается.
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895013
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,
А вы пример откуда брали? Я что-то ни разу не запускал сокет, который будет использовать уже занятый порт...
Даже по ошибке это невозможно - например, если запускать два экземпляра одного и того же сервиса...
Мне что-то думалось, что снифферы работают несколько по-другому...
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895026
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129jenya7,
А вы пример откуда брали? Я что-то ни разу не запускал сокет, который будет использовать уже занятый порт...
Даже по ошибке это невозможно - например, если запускать два экземпляра одного и того же сервиса...
Мне что-то думалось, что снифферы работают несколько по-другому...
не помню уже где брал. где то в сетях интернета. но судя по отзывам код рабочий. иначе не начинал бы с ним возиться.
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895044
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7 иначе не начинал бы с ним возиться.
Ага, я нашел ваш источник... У меня не было необходимости писать такое - при интеграции с внешними системами слушаешь сокет-пишешь в сокет... Все относительно несложно... Но если вы свою аппликацию пишете...
Честно говоря - не стал бы заморачиваться, а поискал бы готовую...
:-)
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895055
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129jenya7 иначе не начинал бы с ним возиться.
Ага, я нашел ваш источник... У меня не было необходимости писать такое - при интеграции с внешними системами слушаешь сокет-пишешь в сокет... Все относительно несложно... Но если вы свою аппликацию пишете...
Честно говоря - не стал бы заморачиваться, а поискал бы готовую...
:-)
ха! готовую! мне же свои пакеты парсить надо, от своих приборов. а потом еще и возвращать данные.
а этот проект вполне готовый. ну допилить немного...
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895064
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кстати вот проект.
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895702
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7D129пропущено...

Ага, я нашел ваш источник... У меня не было необходимости писать такое - при интеграции с внешними системами слушаешь сокет-пишешь в сокет... Все относительно несложно... Но если вы свою аппликацию пишете...
Честно говоря - не стал бы заморачиваться, а поискал бы готовую...
:-)
ха! готовую! мне же свои пакеты парсить надо, от своих приборов. а потом еще и возвращать данные.
а этот проект вполне готовый. ну допилить немного...
Если "от своих" - означает, что они еще и сигналят в некую вашу же (написанную вами) систему - то как бы и "парсить" их надо там же...
Почему выбрано именно такое архитектурное решение?
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895798
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129jenya7пропущено...

ха! готовую! мне же свои пакеты парсить надо, от своих приборов. а потом еще и возвращать данные.
а этот проект вполне готовый. ну допилить немного...
Если "от своих" - означает, что они еще и сигналят в некую вашу же (написанную вами) систему - то как бы и "парсить" их надо там же...
Почему выбрано именно такое архитектурное решение?
мне нужна коммуникация с WIFI модулями - они посылают мне пакеты я посылаю им команды.
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895812
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raw сокет открыть и слушать до посинения, если я правильно понял задачу
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895831
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропилraw сокет открыть и слушать до посинения, если я правильно понял задачу
а это что тогда?
Код: c#
1.
2.
3.
 //Start receiving the packets asynchronously
                    mainSocket.BeginReceive(byte_data, 0, byte_data.Length, SocketFlags.None,
                        new AsyncCallback(OnReceive), null);
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895849
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7Изопропилraw сокет открыть и слушать до посинения, если я правильно понял задачу
а это что тогда?
Код: c#
1.
2.
3.
 //Start receiving the packets asynchronously
                    mainSocket.BeginReceive(byte_data, 0, byte_data.Length, SocketFlags.None,
                        new AsyncCallback(OnReceive), null);



Я не понял - ваш пример кода вроде бы цепляется уже к открытому и рабочему чужому (для этой аппликации) соединению....
Это и есть "сниффер" - то есть нюхатель . То есть он траффик получает, но не меняет его и не вмешивается в обмен данными - только перехватывает.

Если вам надо читать из сокетов - то это уже никак не "нюхатель"...
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895936
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129jenya7пропущено...

а это что тогда?
Код: c#
1.
2.
3.
 //Start receiving the packets asynchronously
                    mainSocket.BeginReceive(byte_data, 0, byte_data.Length, SocketFlags.None,
                        new AsyncCallback(OnReceive), null);



Я не понял - ваш пример кода вроде бы цепляется уже к открытому и рабочему чужому (для этой аппликации) соединению....
Это и есть "сниффер" - то есть нюхатель . То есть он траффик получает, но не меняет его и не вмешивается в обмен данными - только перехватывает.

Если вам надо читать из сокетов - то это уже никак не "нюхатель"...
ну для начала я хочу получать пакеты. потом буду посылать.
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895973
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7ну для начала я хочу получать пакеты. потом буду посылать.
Ну так и получайте.
Мне думается сейчас, что функции mainSocket.Bind - не к чему "привязываться" .
Так как соединение не установлено.
У сокета есть два режима - сервер, и клиент - при соединении один из сокетов должен слушать, а другой - подсоединиться и передавать данные. Я такое писал. Функцию Bind - "этого кота я первый раз вижу" (с)....
:-)
...
Рейтинг: 0 / 0
WIFI снифер.
    #38895978
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129jenya7ну для начала я хочу получать пакеты. потом буду посылать.
Ну так и получайте.
Мне думается сейчас, что функции mainSocket.Bind - не к чему "привязываться" .
Так как соединение не установлено.
У сокета есть два режима - сервер, и клиент - при соединении один из сокетов должен слушать, а другой - подсоединиться и передавать данные. Я такое писал. Функцию Bind - "этого кота я первый раз вижу" (с)....
:-)
Ну так и получайте - это конечно конструктивное предложение. я пытаюсь получать. почитайте мой первый пост.
...
Рейтинг: 0 / 0
WIFI снифер.
    #38896000
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,
А у вас кто клиент а кто сервер?
...
Рейтинг: 0 / 0
WIFI снифер.
    #38896012
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129jenya7,
А у вас кто клиент а кто сервер?
сервер моя программа по идее.
вылетает в эксепшен на
mainSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);
SocketType.Raw ему не нравиться.
...
Рейтинг: 0 / 0
WIFI снифер.
    #38896046
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7вылетает в эксепшен на
mainSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);
SocketType.Raw ему не нравиться.

А что у вас в сети - я, например, в большой корпорации работаю, у нас все перекрыто - хакеров боятся.
Если что-то сетевое делается - пишутся просилки - откройте мол этот порт для того - с точным указанием...
Может у вас тоже?
...
Рейтинг: 0 / 0
WIFI снифер.
    #38896079
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129jenya7вылетает в эксепшен на
mainSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);
SocketType.Raw ему не нравиться.

А что у вас в сети - я, например, в большой корпорации работаю, у нас все перекрыто - хакеров боятся.
Если что-то сетевое делается - пишутся просилки - откройте мол этот порт для того - с точным указанием...
Может у вас тоже?
точно! был подключен к защищенному раутеру. подключился к внутреннему и начал принимать данные. правда программа парсит TCP/UDP
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
 switch (ipHeader.ProtocolType)
            {
                case Protocol.TCP:

                    TCPHeader tcpHeader = new TCPHeader(ipHeader.Data,    //IPHeader.Data stores the data being carried by the IP datagram
                                                        ipHeader.MessageLength);  //Length of the data field                    

                    TreeNode tcpNode = MakeTCPTreeNode(tcpHeader);

                    rootNode.Nodes.Add(tcpNode);

                    //If the port is equal to 53 then the underlying protocol is DNS
                    //Note: DNS can use either TCP or UDP thats why the check is done twice
                    if (tcpHeader.DestinationPort == "53" || tcpHeader.SourcePort == "53")
                    {
                        TreeNode dnsNode = MakeDNSTreeNode(tcpHeader.Data, (int)tcpHeader.MessageLength);
                        rootNode.Nodes.Add(dnsNode);
                    }

                    break;

                case Protocol.UDP:

                    UDPHeader udpHeader = new UDPHeader(ipHeader.Data,              //IPHeader.Data stores the data being 
                        //carried by the IP datagram
                                                       (int)ipHeader.MessageLength);//Length of the data field                    

                    TreeNode udpNode = MakeUDPTreeNode(udpHeader);

                    rootNode.Nodes.Add(udpNode);

                    //If the port is equal to 53 then the underlying protocol is DNS
                    //Note: DNS can use either TCP or UDP thats why the check is done twice
                    if (udpHeader.DestinationPort == "53" || udpHeader.SourcePort == "53")
                    {

                        TreeNode dnsNode = MakeDNSTreeNode(udpHeader.Data,
                            //Length of UDP header is always eight bytes so we subtract that out of the total 
                            //length to find the length of the data
                                                           Convert.ToInt32(udpHeader.Length) - 8);
                        rootNode.Nodes.Add(dnsNode);
                    }

                    break;

                case Protocol.Unknown:
                    break;
            }


а меня интересует как раз Protocol.Unknown. но это буду дописывать. спасибо.
кстати а как запуститься из студии как администратор? а то приходиться щелкать right-click на экзешнике и run as administrator.
...
Рейтинг: 0 / 0
WIFI снифер.
    #38896222
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7кстати а как запуститься из студии как администратор?
запустите саму студию как администратор.
...
Рейтинг: 0 / 0
WIFI снифер.
    #38896270
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arm79jenya7кстати а как запуститься из студии как администратор?
запустите саму студию как администратор.
да действительно. спасибо.
...
Рейтинг: 0 / 0
WIFI снифер.
    #38898264
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Новая печалька. Вышепреведенный код "нюхает" только TCP/UDP пакеты, хотя тут
Код: c#
1.
mainSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP); 


задан SocketType.Raw.
А как мне "отнюхать" мои пакеты?
...
Рейтинг: 0 / 0
WIFI снифер.
    #38898275
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

А какие вам нужны?
...
Рейтинг: 0 / 0
WIFI снифер.
    #38898307
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arm79jenya7,

А какие вам нужны?

там свой протокол.
Код: c#
1.
2.
3.
MODEM_SendString("AT+UNSOLICITEDTX=128,0,");
MODEM_SendInt(flashParam.channel);
MODEM_SendString(",1,2,1,78,0,FF:FF:FF:FF:FF:FF,01:0C:CC:00:00:00,61:2f:68:00:00:02\r");


и потом 37 байт данных.
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WIFI снифер.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]