Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.21;
Скачать: CL | DM;

Вниз

MailSlot поймать реального клиента   Найти похожие ветки 

 
SergGG ©   (2007-02-13 12:16) [0]

Мастера подскажите, каким образом можно вычислить  реального клиента, пославшего сообщение по сети с помощью 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-16 23:50) [1]

Можно слушать траффик. Простейших снифферов с исходниками на Дельфи много в сети. Им же и посмотреть, какой пакет приходит при получении сообщения.


 
iXT ©   (2007-02-17 12:17) [2]

Судя по записи автора клиент просто создает файл на удаленном хосте. Если определять со стороны хоста, то в зависимости от ОС, можно определить родителя (создателя) файла.


> SergGG ©   (13.02.07 12:16)  

С чьей стороны надо определять отправителя?


 
alexm_hs ©   (2007-02-18 00:08) [3]


> Судя по записи автора клиент просто создает файл на удаленном
> хосте. Если определять со стороны хоста, то в зависимости
> от ОС, можно определить родителя (создателя) файла.


Эт не совсем файл. функция 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. Возможно там будет инфа об адресе отправителя.
Кстати, когда давно тоже такой проблемой мучился. Слушал сниффером трафик, вроду бы какие-то пакеты при получении сообщения отлавливались


 
SergGG ©   (2007-02-20 09:24) [4]

> 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.
Заранее спасибо!


 
iXT ©   (2007-02-20 10:40) [5]

[1] Чем не понравилось?


 
alexm_hs ©   (2007-02-20 21:17) [6]

тогда только ловить пакеты. В этом нет ничего страшно сложного. На дельфи полно примеров сниферов (у Rouse_ даже вроде видел). Этож точно в виде пакета приходит. Там по-любому ИП и МАК релаьные будут (если отправитель уж совсем не извращенец и не составлял пакет вручную :)) Посмотрите для начала обычным сниффером, что там вам сваливается при получении сообщ


 
iXT ©   (2007-02-20 22:23) [7]


> alexm_hs ©   (20.02.07 21:17) [6]

Сниф вернет IP, но не username. А там теоретически может быть Anybody


 
alexm_hs ©   (2007-02-21 18:22) [8]

так а что требуется -то? в заголовке сообщения всегда стоит адрес хоста (ип или днс), либо "левое" имя (в случае анонимного сообщения). Никто о юзернэйме и не говорил. Его-то и не получишь. Я так понял, автор очень хочет знать, к кому идти, в случае если его послали в анонимном сообщении. Думаю, для нахождения анонима в данном случае достаточно будет ИП. а дальше дело техники. :)


 
SergGG ©   (2007-02-22 10:01) [9]

> Я так понял, автор очень хочет знать, к кому идти, в случае если его
> послали в анонимном сообщении.

Вы правильно поняли.

Я попробовал сниффером отловить, Всё получается. Но у него есть свои недостатки:
- Если в сети куча народа, Сниффер просто заберает все рессурсы;
- пробовал фильтровать, лучше, но нето.
Короче Сниффер постоянно сканирует Все входящие и исходящие пакеты, которые проходят через сетевую карту. А из всех полученых пакетов Я уже выбираю (фильтрую) необходимый.
А есть ли способ, чтобы Сниффер не сканировал все пакеты, а ждал получения определённого пакета?

И ещё Сниффер работает за счёт инициализации Sockets, а создать Сниффер другим способом, например, на основе NetBIOSa возможно?


 
iXT ©   (2007-02-23 09:44) [10]


> А есть ли способ, чтобы Сниффер не сканировал все пакеты,
>  а ждал получения определённого пакета?

А как он узнает его? В лицо: "О, это ты. Идика сюда, щаз я тебя просканирую"? :)


 
alexm_hs ©   (2007-02-23 16:54) [11]

Боюсь, другого выхода нет :((



Страницы: 1 вся ветка

Текущий архив: 2007.10.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
2-1190890507
l_v
2007-09-27 14:55
2007.10.21
Сообщения другим приложениям


15-1190705543
Неместный
2007-09-25 11:32
2007.10.21
Delphi 7 SE и ODAC 6.10


2-1191124887
Alex8
2007-09-30 08:01
2007.10.21
свойство "Custom.Constrstraint"


15-1190652765
terc
2007-09-24 20:52
2007.10.21
HTML


15-1190566202
Турбомер
2007-09-23 20:50
2007.10.21
Куда и как обратиться?