Текущий архив: 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