2010-07-02 102 views
0

蔭使用SNMP根據需要IAM編碼SNMP請求數據到OAMPDU包格式和發送至遠程系統。遠程系統訪問遠程系統data.But接收的OAMPDU包,解碼它並正在發送SNMP請求通過其結合至161.but IAM無法接收來自SNMP agent.i響應已經創建了一個UDP套接字其綁定至161端口來接收響應端口UDP套接字到SNMP代理。無法接收來自SNMP端口響應

如果我使用161以外的任何其他自由端口號來接收snmp代理,則不會將響應發送到該端口。

任何人都可以請建議我如何克服這個問題。

我們可以配置tx,rx的不同端口嗎?

我們如何知道snmp發送響應的端口?

回答

1

每個UDP數據包都有一個源端口和一個目的端口。 SNMP管理器使用任何源端口和目標端口161發出SNMP請求。代理將回復管理器上的源端口。例如:

Manager         Agent 

source port: <random number> 
dest port: 161 
content: what is your sysUpTime 
              source port: 161 
              destination port: <same random number> 
              content: sysUpTime is 42 seconds 

回覆上random number港後,沒有161端口那麼經理偵聽端口161是不可能收到許多回復。不要在端口161上偵聽,而是在用於發送請求的相同套接字上偵聽。該套接字將記住它選擇發送的源端口。

P.S.當您使用SNMP進行查詢時,SNMP的manager是UDP的client,而SNMP的agent是UDP的server

+0

其實我的應用程序既不是SNMP管理器或SNMP agent.my應用程序只使用SNMP agent.if我的應用程序進行交互,通過UDP套接字發送請求,161端口的話,我怎樣才能從SNMP agent.i響應意味着通過該端口I可以收到響應,因爲它正在選擇一個隨機端口號。 – user381956 2010-07-02 12:20:10

+0

@ user381956:您應該使用您用來發送請求的相同套接字來收聽回覆。在Google上搜索示例,有很多。 – Andomar 2010-07-02 22:15:29

相關問題