1

私は net-snmp を拡張して、agentX でサブエージェントを作成する作業を行っています。ここで、net-snmp のサンプル コードを使用し、サブエージェントにコンパイルします。以下は私が取得したコードです: http://www.net-snmp.org/wiki/index.php/TUT:Writing_a_MIB_Module

そして、agentX を使用してサブエージェントに対して snmpget と snmpset を実行することに成功しました。

私の質問:

  1. サブエージェントとマスター エージェントがポートをリッスンしていると思いますが、リッスンしているポートを見つけるにはどうすればよいですか? デフォルトのポートは705だと言われましたが、「netstat」を使用すると、ポート 705 でリッスンしているプロセスが見つかりません。

  2. サブエージェントのリッスン ポートを変更するには? ポートを設定するには、サンプル コードを変更する必要がありますか?

4

3 に答える 3

1

デフォルトでは、実際には、「Windows 以外のもの」では、デフォルトで にある UNIX ソケットをリッスンします/var/agentx/master

他の投稿者が提案した API を使用するか、snmpd.conf 構成ファイルを使用してリスニング アドレスを変更できます。

agentXSocket tcp:localhost:705

サブエージェントを作成すると、渡したFOO.confファイルの場所が読み取られますFOOinit_snmp("FOO");

于 2011-11-11T16:09:05.247 に答える
0

問題は解決されました:http: //www.net-snmp.org/wiki/index.php/FAQ%3aAgent_12

netsnmp_ds_set_string(NETSNMP_DS_APPLICATION_ID、NETSNMP_DS_AGENT_X_SOCKET、 "tcp:localhost:705");を追加する。

'init_agent'呼び出しの前のサンプルコード。

ありがとう!

于 2011-11-10T09:15:35.593 に答える
0

snmpd.conf ファイルを変更する必要があります

master agentx
AgentXSocket tcp:X.X.X.X:705

そして、あなたのagentxコードの前にこれらの行を書き留めてくださいinit_agent()

netsnmp_ds_set_string(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_X_SOCKET, "tcp:X.X.X.X:705");
于 2016-12-05T04:38:10.757 に答える