Как отловить подключение по-сети

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Vova_2581
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 187
Зарегистрирован: 10.01.2010 (Вс) 18:08

Как отловить подключение по-сети

Сообщение Vova_2581 » 13.06.2018 (Ср) 14:36

Добрый день!
Хотел бы узнать мнение специалистов по такому вопросу: есть обычная одноранговая локальная сеть на машинах с XP. Можно ли каким-то образом отследить или отловить в режиме on-line подключение кого-либо к моей машине по сети?? То есть, когда кто-то подключается к моей машине, мне нужно, что бы на экран выводилось сообщение об этом с минимумом информации: IP удаленной машины, время, ну и т.д. Есть похожие программы, маленькие утилитки, которые это делают, но мне они не совсем подходят – работают как-то незаметно. Когда кто подключается, сообщение не выводится, а просто мигает иконка в трее – это не совсем то... неудобно, так ни фига не замечаешь вообще, особенно на большом экране. Кстати, эти утилитки умеют еще и kick’ать того, кто подключится. А так же показывают куда этот "кто-то" лезет. Какие папки просматривает у меня на машине. Было бы неплохо это тоже знать. Так вот вопрос: сложно ли нечто подобное сделать самому? Может какие примеры у кого есть? Ну или информация, как это можно реализовать на VB. Я бы переделал как мне удобно.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14111
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Как отловить подключение по-сети

Сообщение alibek » 13.06.2018 (Ср) 17:25

Для начала нужно дать четкое определение для «подключение кого-либо к моей машине по сети».
Lasciate ogni speranza, voi ch'entrate.

Teranas
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 136
Зарегистрирован: 13.12.2008 (Сб) 4:26
Откуда: Новосибирск

Re: Как отловить подключение по-сети

Сообщение Teranas » 13.06.2018 (Ср) 18:55

Ага, и не мешало бы показать проблемный участок кода, а то звучит как "Сделайте всё за меня"...
В инете полно таких исходников, просто надо поискать, если чё.
С уважением, Андрей.

Vova_2581
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 187
Зарегистрирован: 10.01.2010 (Вс) 18:08

Re: Как отловить подключение по-сети

Сообщение Vova_2581 » 14.06.2018 (Чт) 15:57

И это все, что могут мне сказать специалисты?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16134
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отловить подключение по-сети

Сообщение Хакер » 14.06.2018 (Чт) 18:11

Хочешь написать свой netstat с логгированием?

В таких случаях незнающий, но находчивый человек смотрит, какими библиотеками пользуется netstat и какими API-функциями. А дальше идёт читать об этих API-функциях.
netstat_deps.png
netstat_deps.png (30.86 Кб) Просмотров: 410


Альтернативной подходу, используемому программой netstat, может стать подход с внедрением во все процессы и перехват в них функций, отвечающих за работу с сетью, и функций, отвечающих за доступ к файлам (раз пишешь «А так же показывают куда этот "кто-то" лезет. Какие папки просматривает у меня на машине. Было бы неплохо это тоже знать.»)

Третьей альтернативной может стать механизм ETW.

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

А ты учитываешь, что за секунды могут происходит тысячи короткоживущих соединений? И что если выводить сообщения MsgBox-ом, то если выводить их параллельно, не хватит ресурсов под тысячи окон, а если по очереди — человек не успеет закрывать эти сообщения быстрее, чем они появляются, и не хватит места под хранение очереди. А если же не MsgBox-ом, а просто каким-то всплывающим окном, то если показывать параллельно — не хватит места на экране, а если последовательно — не хватит времени на прочтение и осознавание отдельно взятого сообщения?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Vova_2581
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 187
Зарегистрирован: 10.01.2010 (Вс) 18:08

Re: Как отловить подключение по-сети

Сообщение Vova_2581 » 15.06.2018 (Пт) 13:03

Хакер
Нет... нет... я ни на что не претендую. Просто хотел проконсультироваться по этому вопросу с более грамотными товарищами, которые в этом всем разбираются лучше. Получить, так сказать, совет. И честно говоря, даже не знал с какой стороны подойти к этому вопросу. Почитал один форум с подобной темой, там говорили, что это нужно, типа, свой файервол писать и т.п. Но у меня есть такая маленькая программка всего на 1 Мб, называется KillWatcher - вот она то и делает все то, что я описал вначале темы, только неудобная (незаметная). Я подумал: неужели автор этой микроутилиты вместил в нее прямо целый файервол??? Наверное, вряд ли. Скорее всего в ней был использован один или несколько механизмов, которые Вы описали... ну, типа, внедрение во все сетевые процессы... с перехватом функций. И, кстати, работает она так, что на экран не вылетают, как Вы написали, тысячи короткоживущих сообщений. Все происходит просто: UserA через обычный Проводник обращается к UserB по обычной LAN на предмет каких-нибудь расшаренных ресурсов. В этот момент на машине UserB утилита KillWatcher показывает, что к UserB зашел UserA в такое-то время. И далее в какие папки он зашел, что качает, ну и прочее... Меня, в принципе все устраивает, только не всегда замечаешь эти сообщения. Они иногда появляются всплывающим (почему то очень маленьким) окном в трее, а иногда не появляются вообще, а просто меняется цвет иконки - на большом экране это вообще не видно. :( Тем более, что трей часто сворачивается и иконка становится вообще скрытой! Поэтому решил узнать, можно ли самому сделать нечто подобное, как мне было бы нужно. Ладно, Хакер, спасибо за содержательный ответ, теперь ясно.
Еще один вопрос: Вы привели SreenShot какой-то программы, что показывает используемые API. Скажите: как называется эта программка?

pronto
Постоялец
Постоялец
 
Сообщения: 585
Зарегистрирован: 04.12.2005 (Вс) 6:20
Откуда: Владивосток

Re: Как отловить подключение по-сети

Сообщение pronto » 15.06.2018 (Пт) 14:26

Vova_2581 писал(а):Скажите: как называется эта программка?

Не ручаюсь за конкретно эту софтину, но, скорее всего, что-то из ряда Dependency Walker
O, sancta simplicitas!

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1906
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Как отловить подключение по-сети

Сообщение ger_kar » 15.06.2018 (Пт) 17:41

Vova_2581 писал(а):Еще один вопрос: Вы привели SreenShot какой-то программы, что показывает используемые API. Скажите: как называется эта программка?
Да это Dependency Walker из состава Visual Studio. Только тут надо учитывать такой момент, что эта и другие подобные утилиты показывают только статические зависимости. Но кроме этого, приложение может загружать библиотеки динамически. Тогда уже без отладчика не обойтись. Хотя возможно есть утилиты которые ведут лог динамически загружаемых библиотек и использованных функций.
Бороться и искать, найти и перепрятать

Vova_2581
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 187
Зарегистрирован: 10.01.2010 (Вс) 18:08

Re: Как отловить подключение по-сети

Сообщение Vova_2581 » 15.06.2018 (Пт) 19:33

Понятно. Попробую раздобыть... Большое спасибо! :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList