Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SNMP-Протокол [D5, WinXP]


Андрей 2004 ©   (2004-10-29 11:39:00) 

Здраствуйте уважаемые Мастера. Есть вопрос следующего характера.
Сейчас занимаюсь созданием SNMP-агента. Принимаю запросы от сервера нормально, т.е. все пакеты которые сервер передает на 161 порт SNMP-агенту, я принимаю и полность распаковываю. Но за недостатком информации я решил запустить стандартный Виндовый SNMP-сервис и отправить ему тот запрос который я принял от сервера (для того что бы посмотреть формат ответа), но при это в ответ я ничего не получаю. Причем Если я запускаю мой менеджер которым перехватил запрос от сервера и он нормально все принимает.
Внимание вопрос. В чем дело, почему стандартный Виндовый сервис не возвращает мне ответ?
Да, и народ может кто порекомендует информацию по SNMP-протоколу.
RFC- не предлогать, уже весь изучил. Или хотя бы формат ответа от агента к серверу.
ЗАРАНЕЕ ОЧЕНЬ БЛАГОДАРЕН.


Андрей 2004   (2004-11-03 14:12:00) [1]

Дааа на сколько я понял данный вопрос мастерам не по зубам....:-)))))
Как и мне ....:-(((((((


Андрей 2004   (2004-11-01 00:05:00) [2]

Попробую привести примерный код (по памяти) потому как пока я не дома.

var
Buffer:array [0..1024] of byte;
Sock:TSocket;
adrr,AddrIn:tsockaddr;
i:integer;
begin
sock:=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
Apaddr:='0.0.0.0';
addr.sin_family:=AF_INET;
addr.sin_port:=htons(161);
Addr.sin_addr.S_addr:=inet_addr(pchar(ApAddr));
bind(Sock,Addr,sizeof(addr));
i:=sizeof(ADDRIn);
RecvFrom(Sock,Buffer,Sizeof(buffer),AddrIn,I);

Далее распаковываю, делаю необходимые изменения, по RFC, а затем отправляю назад => образом:

i:=sizeof(ADDRIn);
SendTo(Sock,Buffer,Sizeof(buffer),AddrIn,I);


В чем может быть проблема, может я чего то недопонимаю в работе с UDP-протоколом, я обычно с ТСР-сталкивался.


Saint_Byte   (2004-10-30 20:09:00) [3]

Возможно Мс как обычно начихало на стандарты =((


Андрей 2004   (2004-10-30 17:30:00) [4]

Народ, неужели никто ничего не сможет подсказать. А то уже крыша едет не могу понять в чем дело. Почему обмен не удается.
Код приводить не буду, так как он стандартный. Т.е. Создаю UDP-сокет, делаю bind на 161 первый порт. И через recvfrom-нормально все принимаю и распаковываю (от сервера). Но после того как я подымаю стандартный виндовый сервис SNMP и отправляю точ в точ такой же пакет как и принял этому сервису (соответственно с другого порта), при помощи sendto- и ставлю свой процесс в recvfrom-и ответа нету. Это мне необходимо сделать чтобы принять ответ и посмотреть как выглядит ответный пакет. Но я ничео не принимаю. PLzzz Help.


Наверх

Титульная страница Поиск, карта сайта Написать письмо