![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MailSlot поймать реального клиента [D7, WinXP]
SergGG © (2007-02-13 12:16:00)Мастера подскажите, каким образом можно вычислить реального клиента, пославшего сообщение по сети с помощью MailSlota.
Клиент посылает сообщение:
h:=CreateFile( PChar('\\' + ServerName + '\mailslot\messngr), GENERIC_WRITE, FILE_SHARE_READ,nil,OPEN_EXISTING, 0, 0);
WriteFile(h,Mess[1],Length(Mess),DWORD(i),nil);
Где Mess:='ClientName'+#0+'ServerName'+#0+'TextMess';
но клиент может написать в ClientName что угодно.
Поэтому выявить, кто послал сообщение не получается.
И ещё клиент не использует протоколы NetBIOS, Socket, Pipes
alexm_hs (2007-02-23 16:54:00) [1]Боюсь, другого выхода нет :((
iXT (2007-02-23 09:44:00) [2]
> А есть ли способ, чтобы Сниффер не сканировал все пакеты,
> а ждал получения определённого пакета?
А как он узнает его? В лицо: "О, это ты. Идика сюда, щаз я тебя просканирую"? :)
SergGG (2007-02-22 10:01:00) [3]> Я так понял, автор очень хочет знать, к кому идти, в случае если его
> послали в анонимном сообщении.
Вы правильно поняли.
Я попробовал сниффером отловить, Всё получается. Но у него есть свои недостатки:
- Если в сети куча народа, Сниффер просто заберает все рессурсы;
- пробовал фильтровать, лучше, но нето.
Короче Сниффер постоянно сканирует Всевходящие и исходящие пакеты, которые проходят через сетевую карту. А из всех полученых пакетов Я уже выбираю (фильтрую) необходимый.
А есть ли способ, чтобы Сниффер не сканировал все пакеты, а ждал получения определённого пакета?
И ещё Сниффер работает за счёт инициализации Sockets, а создать Сниффер другим способом, например, на основе NetBIOSa возможно?
alexm_hs (2007-02-21 18:22:00) [4]так а что требуется -то? в заголовке сообщения всегда стоит адрес хоста (ип или днс), либо "левое" имя (в случае анонимного сообщения). Никто о юзернэйме и не говорил. Его-то и не получишь. Я так понял, автор очень хочет знать, к кому идти, в случае если его послали в анонимном сообщении. Думаю, для нахождения анонима в данном случае достаточно будет ИП. а дальше дело техники. :)
iXT (2007-02-20 22:23:00) [5]
> alexm_hs © (20.02.07 21:17) [6]
Сниф вернет IP, но не username. А там теоретически может быть Anybody
alexm_hs (2007-02-20 21:17:00) [6]тогда только ловить пакеты. В этом нет ничего страшно сложного. На дельфи полно примеров сниферов (у Rouse_ даже вроде видел). Этож точно в виде пакета приходит. Там по-любому ИП и МАК релаьные будут (если отправитель уж совсем не извращенец и не составлял пакет вручную :)) Посмотрите для начала обычным сниффером, что там вам сваливается при получении сообщ
iXT (2007-02-20 10:40:00) [7][1] Чем не понравилось?
SergGG (2007-02-20 09:24:00) [8]> iXT © (17.02.07 12:17) [2]
> С чьей стороны надо определять отправителя?
Со-стороны Servera (тот кто получает сообщение);
> alexm_hs © (18.02.07 00:08) [3]
> А вообще надо просто автору разобраться в механизме майлслотов.
Механизм Я изучил досконально.
> Можно сделать приложение, которое в фоне будет постоянно читать слот > messngr.
Я создал такое приложение
> Возможно там будет инфа об адресе отправителя.
Там есть информация и приходит она только в таком виде:
'ClientName'#0'ServerName'#0'TextMess';
т.е. что Client отправляет, то Server и получает.
А мне нужны сведения о реальном Hoste Clienta.
Заранее спасибо!
alexm_hs (2007-02-18 00:08:00) [9]
> Судя по записи автора клиент просто создает файл на удаленном
> хосте. Если определять со стороны хоста, то в зависимости
> от ОС, можно определить родителя (создателя) файла.
Эт не совсем файл. функция CreateFile создает не только файлы
(This function creates, opens, or truncates a file, COM port, device, service, or console. It returns a handle that you can use to access the object. MSDN).
так что на своем диске вы такого файла не найдете. А вообще надо просто автору разобраться в механизме майлслотов. Можно сделать приложение, которое в фоне будет постоянно читать слот messngr. Возможно там будет инфа об адресе отправителя.
Кстати, когда давно тоже такой проблемой мучился. Слушал сниффером трафик, вроду бы какие-то пакеты при получении сообщения отлавливались
iXT (2007-02-17 12:17:00) [10]Судя по записи автора клиент просто создает файл на удаленном хосте. Если определять со стороны хоста, то в зависимости от ОС, можно определить родителя (создателя) файла.
> SergGG © (13.02.07 12:16)
С чьей стороны надо определять отправителя?
alexm_hs (2007-02-16 23:50:00) [11]Можно слушать траффик. Простейших снифферов с исходниками на Дельфи много в сети. Им же и посмотреть, какой пакет приходит при получении сообщения.