| 
							Junk
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 «  : 04-08-2006 14:16 »   | 
								
								 | 
							  
							 
							Народ, есть необходимость в сети собирать информацию о работе компьютеров, используя SNMP-протокол. (вроде он позволяет собирать информацию о кол-ве поступивших/отправленных данных на такой-то протокол по такому-то порту).  Не знаю тока с чего начать. Надо на компьютере, кот. всю эту инфу собирает, представить в удобном виде. Нужно писать все самому или есть какие-то стандартные средства, кот. настраиваются на отображение нужных данных? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Junk
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #1 : 07-08-2006 08:23 »   | 
								
								 | 
							  
							 
							С чего хотябы начинать? Какой-нибудь учебник или документация по созданию таких приложений? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #2 : 07-08-2006 17:46 »   | 
								
								 | 
							  
							 
							Junk, попробуй начать с поиска.
  Отдельные порты SNMP не считает. Есть счетчики интерфейсов, есть IP, ICMP, TCP, UDP, но выше не поднимается.
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Junk
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #3 : 07-08-2006 19:18 »   | 
								
								 | 
							  
							 
							Мне нужно программу-клиент, кот. будет собирать информацию с агентов на др. компьютерах. Почитал MSDN, но пока не понял с чего начинать. Маленький пример, please. Типа: 1. инициализируем 2. посылаем запрос 3. получаем ответ ... или куак там 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Junk
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #4 : 09-08-2006 08:37 »   | 
								
								 | 
							  
							 
							Не понимаю, что неправильно делаю: хочу использовать в программе функцию SnmpMgrOpen(); включаю #include "Mgmtapi.h" но при компиляции выдается ошибка: unresolved external symbol _SnmpMgrOpen@16 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #5 : 09-08-2006 16:00 »   | 
								
								 | 
							  
							 
							Junk, мало включить заголовок в компиляцию, нужно еще и библиотеку включить в линковку. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Junk
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #6 : 10-08-2006 06:38 »   | 
								
								 | 
							  
							 
							подскажи, пожалуйста, как 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #7 : 10-08-2006 15:52 »   | 
								
								 | 
							  
							 
							См. настройки проекта. Там где файлы с расширением lib упомянуты. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Junk
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #8 : 15-08-2006 14:29 »   | 
								
								 | 
							  
							 
							есть такая функция SNMPAPI_STATUS SnmpSendMsg(   HSNMP_SESSION session,   HSNMP_ENTITY srcEntity,   HSNMP_ENTITY dstEntity,   HSNMP_CONTEXT context,   HSNMP_PDU PDU ); Может вопрос и покажется глупым, но я все-таки не могу понять что это за параметры и как их задавать:
  srcEntity - Handle to the management entity that initiates the request to send the SNMP message.  dstEntity - Handle to the target entity that will respond to the SNMP request.  context - Handle to the context, (a set of managed object resources), that the target management entity controls 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Junk
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #9 : 16-08-2006 09:38 »   | 
								
								 | 
							  
							 
							вот тоже не понятно: HSNMP_CONTEXT SnmpStrToContext(   HSNMP_SESSION session,   smiLPCOCTETS string );
  Parameters session   [in] Handle to the WinSNMP session.  string   [in] Pointer to an smiOCTETS structure that contains a string to interpret. The string can identify a collection of managed objects, or it can be a community string.
  Что значит "The string can identify a collection of managed objects"? Что такое "collection of managed objects"? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #10 : 16-08-2006 16:27 »   | 
								
								 | 
							  
							 
							Набор управляемых объектов. Может имеется в виду строка с номерами узлов? Типа "1.3.1..." Там у темя в доке примеров вообще нет? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Junk
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #11 : 17-08-2006 06:55 »   | 
								
								 | 
							  
							 
							это из MSDN Примеров в доке не нашел 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Junk
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #12 : 17-08-2006 07:30 »   | 
								
								 | 
							  
							 
							HSNMP_CONTEXT SnmpStrToContext(   HSNMP_SESSION session,   smiLPCOCTETS string );
  В немногочисленных кодах, найденных в интернете, в smiLPCOCTETS пихают имя группы (community name).
  HSNMP_CONTEXT hContext; smiOCTETS dContext = {6, (unsigned char *)"public"}; hContext = SnmpStrToContext(hSession, &dContext);
  Вроде работает. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Junk
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #13 : 17-08-2006 09:32 »   | 
								
								 | 
							  
							 
							Подскажите, пожалуста, как получить информация из базы MIB с группа interface (1.3.6.1.2.1.2) информацию о количестве и характеристиках интерфейсов. Когда я запрашиваю имя 1.3.6.1.2.1.2.1.0 (ifNumber), возвращается количество интерфейсов. Но непонятно как достать саму инфу об этих интерфейсах, если их несколько штук. И надо ли пользоваться командой GetNext или в ответе приходит инфа сразу обо всех имеющихся? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									«  Ответ #14 : 18-08-2006 09:45 »    | 
								
								 | 
							  
							 
							Junk, насколько помню, интерфейсы хранятся в таблице. Можно получить число записей в таблице и перебрать таблицу. В MIB-2 посмотри. Прикладываю файлик описания IF-MIB из библиотеки net-snmp.
  Я API не пользовался - только утилитами и подсказать как делать не могу. 
						 | 
					 
					
						
							
								
									 
									
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	 |