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

Вниз

Помогите, пожалуйста разобраться с trap сообщениями   Найти похожие ветки 

 
r9000   (2004-05-14 08:38) [0]

Добрый день!

Вы не могли бы мне помочь. По snmp протоколу передается trap сообщения на мой компьютер. Я пытаюсь их поймать и расшифровать передавемые данные(в них информация о времени аварии, названии аварии и т.д.). Я пытаюсь использовать компонент Indy IdUDPServer:
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;  ABinding: TIdSocketHandle);
var s:string;
   buffer : array [0..100] of char;
 
begin
Memo1.Lines.Add(abinding.PeerIP);

if adata.Read(buffer,100)<>0 then
begin
for i:=0 to 100 do
Memo1.Lines.Add(buffer[i]);
end;
end;

Получаются такие символы(после соединения):
10.10.35.36
0‚O SNMP_trap§‚A0‚?0+Ce?0

++™y0+™y
Как их расшифровать? В каком формате передаются данные?
Что нужно сделать, чтобы получить из них данные? Может для получения SNMP_trap нужно использовать другие компоненты,какие?
Может быть кто-нибудь подскажет как это сделать?
Заранее спасибо.


 
Digitman ©   (2004-05-14 09:57) [1]

http://book.itep.ru/4/44/snm_4413.htm
http://faqs.org.ru/lan/lan_faq/snmp.htm
http://www.delphiworld.narod.ru/base/snmp_protocol.html


 
r9000   (2004-05-14 14:45) [2]

А можно напримере,пожалуйста если кто-то этим занимался, а то не очень-то понятно, как это сделать в данном случае.


 
Digitman ©   (2004-05-14 14:49) [3]


> r9000


> не очень-то понятно


непонятно что ? формат SNMP_trap-сообщения в этих док-тах описан по-китайски ?


 
r9000   (2004-05-17 07:52) [4]

Да нет формат SNMP_trap-сообщения вроде понятен, не понятно как его использовать на практике, скажем для моего конкретного примера?


 
Digitman ©   (2004-05-17 08:07) [5]


> формат SNMP_trap-сообщения вроде понятен


значит, д.б. понятно, что это сообщение не имеет чисто текстовый формат

ты же, выполняя Lines.Add(buffer[i]) , из каких-то тайных соображений предполагаешь, что каждый байт сообщения является печатаемым ANSI-символом


 
r9000   (2004-05-17 08:11) [6]

Тогда как сделать, чтобы получилось? Помогите, пожалуйста, если можно напримере, а то пока несоображу.


 
Digitman ©   (2004-05-17 08:46) [7]


> Тогда как сделать, чтобы получилось?


тогда определись для начала, что значит "расшифровать сообщение"

я вот глянул в RFC и что-то не вижу там, чтобы сообщение это подразумевало какое-то "шифрование"

опиши структуру сообщения в соответствии с RFC

type
TSNMPtrap = packed record
... // поля структуры в соответствии с RFC
end;

var
 buffer: TSNMPtrap;
if adata.Read(buffer, sizeof(buffer))  = sizeof(buffer) then
.. переменная buffer содержит упомянутое сообщение, делай с ним что хочешь


 
Verg ©   (2004-05-17 09:10) [8]

Пример работы с trap можно посмотреть в
http://www.ararat.cz/synapse/files/synasnap.zip


 
r9000   (2004-05-17 09:14) [9]

А SNMP_trap-сообщения содержат только список переменных mib,к которым нужно обращаться с помощью команды get, чтобы выяснить их значения, или также их значения?


 
r9000   (2004-05-24 12:19) [10]

Спасибо большое функция http://www.ararat.cz/synapse/files/synasnap.zip помогла.
Теперь значения SNMP_trap-сообщений принимаются!



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

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

Наверх




Память: 0.49 MB
Время: 0.041 c
3-1088249786
Амир
2004-06-26 15:36
2004.07.18
Две таблицы


1-1089200259
Васька
2004-07-07 15:37
2004.07.18
Почта и интернет по щелчку


3-1087544281
axx
2004-06-18 11:38
2004.07.18
Помогите с Exception


14-1088686042
Andy BitOff
2004-07-01 16:47
2004.07.18
Сохранить настройки GExperts


14-1088334519
Vitalik
2004-06-27 15:08
2004.07.18
Новосибирску 111