CentOSでsnmpマネージャを構築しています。
CentOS機からはsnmpget/snmpwalkで外部のSNMPエージェントにsnmp requestを投げます。

ほとんどのsnmpエージェントに対しては通常のUDP161番あてに投げますが
特定のIPアドレスのsnmpエージェントに対しては別のUDPポート番号に対して投げたいのです。

iptablesを使ってDestinationポートを変換できそうな気がするのですが
このような場合、iptablesをどのように書いたらよいかお教えいただけないでしょうか。
(念のため書きますと、CentOS機はFWとしてつかっているわけではありません。
snmp requestはあくまでCentOS機自身が発行するものです)

このQ&Aに関連する最新のQ&A

A 回答 (1件)

net-snmpのsnmpget/snmpwalkだったら、実行時のオプションで何とかなりそうですけど。


iptablesとか使うより、snmpget/snmpwalk実行時のスクリプトを工夫した方が良さそうに思います。
以下参考URLの引用:
----
SYNOPSIS
snmpcmd [OPTIONS] AGENT [PARAMETERS]

(中略)

AGENT SPECIFICATION
The string AGENT in the SYNOPSIS above specifies the remote SNMP ntity with which to communicate. This specification takes the form:
  [<transport-specifier>:]<transport-address>
(略)
  <transport-specifier>
    <transport-address> format
udp
  hostname[:port] or IPv4-address[:port]
tcp
  hostname[:port] or IPv4-address[:port]

(後略)
----

参考URL:http://net-snmp.sourceforge.net/docs/man/snmpcmd …
    • good
    • 0
この回答へのお礼

ありがとうございました。
解決しました。

お礼日時:2009/05/17 02:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBA「別のプログラムでOLEの操作が完了するまで待機を続けます。」

VBAを使ってHFSSというソフトウェアを外部制御したいと考えています。
そのソフトの起動&終了や図形の形状編集、各種形式のファイル出力といった軽い操作は難なく動作させる事が出来るのですが、数GBのメモリを使用するような重たい処理をさせたりすると「別のプログラムでOLEの操作が完了するまで待機を続けます。」といったメッセージがVBA側に表示される事があり、その時点でFor文が途中で止まってしまい困っています。どうすればよろしいでしょうか?

なお、そのソフトウェア側で重たい処理が終了したのちに手動で「OK」ボタンをクリックすると次の処理へ進ませる事は出来ます。ですので、上記エラーメッセージが表示されたら自動でOKを選択したり、On Error Resume Nextのような感じでエラーメッセージを無視出来るだけでも結構です。

Aベストアンサー

こんにちは。

話は簡単なのですが、解決は難しいです。

>「別のプログラムでOLEの操作が完了するまで待機を続けます。」

私の方も同様の問題でしたが、IE のアドオンのActiveX なので、私の状況とは違うようです。
本来は、マクロを使用するときに、OLEプログラムを外して動かせばよいのですが、たぶん、HFSS自体が、OLEで、Excelに繋がっているのでしょうね。

今回の原因は、OLE側の本体のソフトが終了する前に、マクロが終わろうとしてしまうということが原因です。それで、良くコードをごらんになって、「ソフトの起動&終了や図形の形状編集、各種形式のファイル出力」の、それぞれの作業の終わり目があるはすでず。その終わり目の前に、Wait を入れればよいのではないかと思います。

Application.Wait でも良いのですが、

負担の少ないAPIの
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'モジュールの最上に書く

で、適当の待ち時間を入れてあげればよいのではないか、と思います。

Call Sleep 1000 '1000/1000秒...1秒

状況からすると、1秒以上は掛かると思いますが……。

それから、
Application.ScreenUpdating = False 'や
Application.Calculation = xlCalculationManual '(<--> = xlCalculationAutomatic)

この二つぐらいが、効をそうするのではないかと思います。

また、On Error Resume Next などの、エラートラップは、あくまでも、VBA の内部の問題ですから、トラップには掛かりません。

こんにちは。

話は簡単なのですが、解決は難しいです。

>「別のプログラムでOLEの操作が完了するまで待機を続けます。」

私の方も同様の問題でしたが、IE のアドオンのActiveX なので、私の状況とは違うようです。
本来は、マクロを使用するときに、OLEプログラムを外して動かせばよいのですが、たぶん、HFSS自体が、OLEで、Excelに繋がっているのでしょうね。

今回の原因は、OLE側の本体のソフトが終了する前に、マクロが終わろうとしてしまうということが原因です。それで、良くコードをごらんに...続きを読む

QSNMPのポート番号について

現在、ネットワークを構築しており各Routerにaccess-listを設定したいのですがSNMPのポート番号がよくわかりません。とりあえず161は使っているという事はわかったのですが、他には何番のポート番号を使っているのでしょうか?

御存知の方がいらっしゃれば是非教えていただけないでしょうか?
宜しくお願い致します。

Aベストアンサー

>OpenViewではTCPも使っているのでしょうか? もし使っているとすれば、このポ>ート番号は何番になるのでしょうか?

このバージョンから推測ですが(間違ってたらごめんなさい)NT もしくは Win2k を使用の場合と、UNIX(Solaris、HP-UX)の場合と違います。

デフォルトの 161、162と返しの 1024以上で問題ないと思います。

NT(2000を含む)の場合、サーバに MS IIS(今セキュリティホールで騒がれているやつ)が前提ですので、HTTP 80(OpenView 本体の画面表示に使用)、MS-RPC(135UDP/TCP) です。使用については、このポートは複数の OpenView サーバをたてて、同期をとっていなければ、ルータ側では Open の必要はありません。
このとき、間違って、135、137、138、139、445(Win2kのみ)はサーバから落とさないように。IISそのものが動かなくなります。

UNIX の場合、Solaris だったら、RPC が 111(UDP/TCP)を使いますが、NT ほど私は理解はしてないのが現状です........

それと、SNMP コミュニティ名は、ReadOnly の場合、デフォルトの「Private」は変更すること!(ルータのコミュニティ名も、[private RO] を、[XXXXXX RO]に変更して、標準アクセスリスト(10くらいでいいんじゃないですか)をネットワーク管理者と相談して決めてください。

それと、HP OpenView、NT、Solaris とも、セキュリティホールがありますので、こまめにセキュリティサイトをみながらチェックすることを薦めます。

セキュリティ関連の参考 URL は、以下のとおりです。
(Ciscoルータもセキュリティホールを閉じる手立てはあるみたいですが、日本のサイトでは確認した!という事例はありません)

参考URL:http://winsec.toranoana.ne.jp/ http://www.reasoning.org/jp/cert/index.html

>OpenViewではTCPも使っているのでしょうか? もし使っているとすれば、このポ>ート番号は何番になるのでしょうか?

このバージョンから推測ですが(間違ってたらごめんなさい)NT もしくは Win2k を使用の場合と、UNIX(Solaris、HP-UX)の場合と違います。

デフォルトの 161、162と返しの 1024以上で問題ないと思います。

NT(2000を含む)の場合、サーバに MS IIS(今セキュリティホールで騒がれているやつ)が前提ですので、HTTP 80(OpenView 本体の画面表示に使用)、MS-RPC(135UDP/T...続きを読む

Qあるプログラムで使用している変数を変数が更新された時に別のプログラムへ送る方法

今プログラミングをやっています。画像処理で動く物体の位置関係から角度を求めるプログラムを作ったのですが、このデータを使って別のプログラムを実行させたいと思っています。

その際に1つ目のプログラムでデータを求められた時点で2つ目の(別の)プログラムに送る方法を探しています。できるだけいろいろな方法を探しているのでどうか教えてください。よろしくお願いします。

追記:1つのプログラムにまとめるという以外の方法でお願いします。

Aベストアンサー

2つ目のプログラムが常時起動しているなら、
・ソケット通信
・名前付きパイプ
・1つ目のプログラムで出力するファイルを、定期的に2つ目のプログラムが監視する

2つ目のプログラムが必要なときに起動すればよいなら、1つ目のプログラムから、引数付で2つ目のプログラムを起動する

Q常にすべてのポートのポートでこのプログラムからの接続を許可する?

イートレード証券の【ハイパーイートレード】をダウンロードした後にログインしようと思ったら、『正常にログインできませんでした』の繰り返しで、再インストールをしてもう一度ログインした後に
下記のような画面が出てきました。

セキュリティ警告
高危険度
ETCommGate.exeがDNSサーバーに接続しようとしています。

どう処理しますか?

常にすべてのポートでこのプログラムからの接続を許可する。
常にすべてのポートでこのプログラムからの接続を遮断する(推奨)


上記の画面が現れてきて、許可するか遮断するかを選べるのですが、接続を遮断する(推奨)を選んだほうが良いのでしょうか?
しかしこれを選んでも、またログインに失敗してしまいます。
接続を許可した場合、どのようなデメリットが発生するのでしょうか?
どうすれば安全にログインできるでしょうか?

どなたかご存知の方はアドバイスお願い致します。

Aベストアンサー

おそらくノートンインターネットセキュリティをお使いなのでしょう。

ノートンでは、「ハイパーイートレード(ETCommGate.exe)」が正規の(問題の無い)ソフトなのが、ウイルス類のソフトなのかの判別がつかなかったため、あなたに(パソコンの操作者に)どうすればよいかを尋ねているということです。

で、ノートンとしては、ウイルスの危険性を考えて、「接続を遮断する」を 推奨 しているわけですが、何も問題の無いソフトであるのであれば操作者の判断により「接続を許可する」を選択してあげてください。

参考URL:http://homepage3.nifty.com/sumire_t/faq/FAQ_NtnSecAttntionSet.html

Q特定のプログラムだけを別のPCに移す

下記の事情で特定のプログラムだけを別のPCにコピーする方法は
ないか模索しております。
ご存知の方がいらっしゃいましたら教えていただけないでしょうか。

・業務用のソフトをWindowsXPで使っています。
・その業務用のソフトはインストーラーがありません。
・別のPCにこのソフトだけコピーしたいと考えております。
・試しにプログラムフォルダだけ別のPCにコピーしましたが、レジストリエラーで起動できませんでした。

レジストリのエクスポートなどで、なんとか別のPCにプログラム
(この業務用ソフト)だけコピーして動作させる方法はないでしょうか??

Aベストアンサー

補足を拝見させて頂ましたが、何方か、適切なアドバイスが有ればとようすを見させて頂いて居りましたが、此れと思えるアドバイスも余り無いようなので、矢張り無理なのかも知れませんね。
----
えー、現実的な話では無くて過去形の話に成りますが、(DiskX Toolsのver:6)←には、移動(同じpc内のHDD又はパテーションへ)と(別のpcへの、転送と言う機能が)有って、転送と言う機能は、レジストリーをはじめsoft一式を圧縮してくれる、機能がありました。
今は、Ver:12~13位に成って、移動と言う機能は残されていますが、転送機能は削られて仕舞いました。(著作権が厳しく言われるように成った為)
----------
質問者さんは、レジストリのエクスポートなどで、なんとか成らないかと、言う所へ目を付けられたのは正しいと思いますが、関連レジストリーを探し出すのは並大抵では有りません(探しだすsoftが有れば簡単でしょうけど)
--------
例えば、(ウイルスバスター)と言うレジストリー、記録を手作業で探す場合、レジストリーエデーターの、編集→検索(検索の値)へ色々のキーワードを入れ、5つのkeyを隈なく検索(自動で)←キーワードには「virusやウイルスバスターやトレンジマイクロやTREND MICRO」←等、色々の検索ワードで、別々のハイブが引っ掛かります。それと、NT系では、ユーザー毎の、独立した、レジストリー項目が有るので、各ユーザー名を冠しての検索も必要です。
-----------
レジストリーとは別な問題もあります。
softを作る、プログラミング言語(例えば、VBやDelphiやC)で作られた物にはそれぞれに必要な異なる(部品的softが(DLL等も))ファイルがsystem32等へインストールされます。←これ等をsystem32の中でソートして一覧にして見ると沢山の種類が見られますが、どの、ファイルが必要(利用されるのか)なのかは、簡単には判りません。←自在眼と言うsoftで、必要softのexeを覗くと、そのexeが呼びだそうとする飛び先は見る事が出来ますが、一つのsoftの中には、複数のexeが互いに関連しあっているので、趣味で覗くなら兎も角、解析を試みるなら(デバッガー)←のお世話に成らないと、解析は無理です、
---------
以上のような書き方をすると、じゃー、完全に無理なのね、と言う事に成ってしまいますが、質問者さんが、レジストリのエクスポート、に目を付けられたと言う事は、有る程度突っ込んだ話もokだと捉えれば、私なら、(イメージ・バックupを取った後)全レジストリー(5つのkey)←これ等をそれぞれ書き出して、今、問題に成っているsoftを、(プログラムの追加と削除)で、削除します。→再び、レジストリーを書き出し、前のレジストリーと比較します。(例えば、レジストリー番犬ろん等で)←この、差が、必要なレジストリー、では無いかと思いますが…
---
再び(イメージ・バックup)から書き戻して、先ほどの差分をエクスポートする。
----------
但し、実際に実行して見た訳では無いので(頭の中で考えた事なので)次の点は、疑問が有ります。
-----------
今現在のpc(osが)不具合との事なので、当然、osを入れ替える(リカバリーを含む)←この時、完全リカバリー(osのcdでの再インストールでは無い)タイプでリカバリーを試みた時(コンピューター名が)変わらないか? コンピューター名が変わって仕舞うと、以前のレジストリーのエクスポートした物は、別物に成ってしまうので、新しくした方のpcでは使え無いのでは無いか(実際にやって見ないと何とも言えませんが)。
コンピューター名さえ変わら無ければ、やれそうな気がしますが。

補足を拝見させて頂ましたが、何方か、適切なアドバイスが有ればとようすを見させて頂いて居りましたが、此れと思えるアドバイスも余り無いようなので、矢張り無理なのかも知れませんね。
----
えー、現実的な話では無くて過去形の話に成りますが、(DiskX Toolsのver:6)←には、移動(同じpc内のHDD又はパテーションへ)と(別のpcへの、転送と言う機能が)有って、転送と言う機能は、レジストリーをはじめsoft一式を圧縮してくれる、機能がありました。
今は、Ver:12~13位に成って、移動と言う機能は残されています...続きを読む

Qポート開放必須ゲームがポートを開かずに出来る状態は危険でしょうか?

OS: Windows XP
回線:Bフレッツファミリー100
ルーター:BHR-4RV

最近ロストプラネットというPCゲームを始めたのですがUPnP非対応にもかかわらず、ポート開放なしにオンラインで遊ぶことが出来ます。はじめは煩わしくなくてよかった程度に考えていたのですが。掲示板などでポート開放についての質問が多くあるのに不安を覚えて質問させていただくことにしました。

ルーターはアドレス変換はを始め基本的に設定をいじっていません。なのでポートは開いていないと思います。実際Shields UP!!を使ってポートスキャンをしてみるとメール用のポート以外は全てsteaithでした。

販売元のカプコンに問い合わせたところ「ポートが閉じているとオンラインプレイに支障が出るため、お客様の環境では各ポートが開放されているものと思われます。」とのことでした。

率直にいってポート開放必須ゲームがポートを開かずに出来る状態は危険でしょうか?どなたか回答お願いします

Aベストアンサー

PC版「ロスト プラネット エクストリーム コンディション」
http://www.capcom.co.jp/pc/lostplanet/main.html

これで良いのかな?

PC版「ロスト プラネット エクストリーム コンディション」をやってみた
http://gigazine.net/index.php?/news/comments/20070516_lostplanet/

この記事をみるとDirectX 10や9での動作に言及している事から、ポート云々はDirectXが制御してくれているのでしょう。
それ以外にポートに関しては触れていないしね。
ゲームをやる為にポートを空けろなどというのも本来おかしな話です。

ゲームメーカーには色々なゲームソフトがありますからサポート要員が全てに精通している訳ではありません。
まずい事は知らぬ存ぜぬが基本です。
知らなくても言い切るも基本。

まぁセキュリティ上の事でいえば、仕事のデータや個人情報は専用のPCを用意するのが鉄則になりつつあります。
オンラインゲームのパスワードやポイントを抜き取ろうと暗躍しているマルウェアが非常に多いですからね。

PC版「ロスト プラネット エクストリーム コンディション」
http://www.capcom.co.jp/pc/lostplanet/main.html

これで良いのかな?

PC版「ロスト プラネット エクストリーム コンディション」をやってみた
http://gigazine.net/index.php?/news/comments/20070516_lostplanet/

この記事をみるとDirectX 10や9での動作に言及している事から、ポート云々はDirectXが制御してくれているのでしょう。
それ以外にポートに関しては触れていないしね。
ゲームをやる為にポートを空けろなどというのも本来...続きを読む

QVB.NETのフォームに別のウインドウ型プログラムを組み込む方法

VB.NETのフォームの一部に、別プログラムを組み込む方法を探しています。
例えば、HTMLにIFRAMEで別のhtmlを表示するように、VB.NETのフォームにexcelやワードの画面を表示させる感じです。
類似の方法をご存知の方がいらっしゃれば、ご教授願います。

Aベストアンサー

フォームにPDFを表示したいということであれば、WebBrowserコントロールで可能かと。

参考URL:http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22120&forum=7

QsystemのUDP192.168.0.255とは?

ファイヤーウォールの遮断(ブロック)ログに
system UDP 192.168.0.3(自分) 138(ポート)/UDP 192.168.0.255(相手) 138(ポート)

と頻繁に出るのですがこれはいったいなんなのでしょうか?

ネットワークでファイルを共有しているため
TCP 192.168.0.3(自分)/192.168.0.4(相手)
以外のsystemの通信は遮断にしています

検索をしてみると UDP 192.168.0.255はファイル共有用だとあるのですがこれを遮断してもファイル共有はできています

不思議なのが
system TCP 192.168.0.3(自分)/192.168.0.4(相手)
system UDP 192.168.0.3(自分)/192.168.0.4(相手)
と両方解放してみると、頼みもしないのに
system UDP 192.168.0.3(自分)/192.168.0.255(?)
と勝手に通信してしまいます

192.168.0.255とは=ネットワーク内の相手のPCということなのでしょうか?

ファイヤーウォールはCOMODOのCIS3を使用しています

よろしくお願いします

ファイヤーウォールの遮断(ブロック)ログに
system UDP 192.168.0.3(自分) 138(ポート)/UDP 192.168.0.255(相手) 138(ポート)

と頻繁に出るのですがこれはいったいなんなのでしょうか?

ネットワークでファイルを共有しているため
TCP 192.168.0.3(自分)/192.168.0.4(相手)
以外のsystemの通信は遮断にしています

検索をしてみると UDP 192.168.0.255はファイル共有用だとあるのですがこれを遮断してもファイル共有はできています

不思議なのが
system TCP 192.168.0.3(自分)/192.168.0.4...続きを読む

Aベストアンサー

ネットマスクが255.255.255.0ならそのアドレスはブロードキャストです
138/udpはWindowsでは「コンピュータ一覧」を作るためのブラウジングサービスを提供しています
マイネットワークから辿らなければこれを遮断していてもファイル共有は可能です

QVBで別のプログラムを起動し他の処理を中断したい

VBプログラムの実行中に、shell("hoge.exe")で別のプログラムを起動しそのプログラムが終了すれば次の処理に移るという処理をしたいんですが、実現方法がわかりません。どうすればよいでしょうか?アドバイスよろしくお願いします。

Aベストアンサー

こんにちは。maruru01です。

別のAPIによる方法です。
WaitShellという関数を自作しました。
関数の引数には、Shell関数の引数をそのまま渡せばOKです。


***** API関数と定数の宣言 *****

'既存のプロセスオブジェクトのハンドルを返す関数
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

'OpenProcess関数の第1引数用の定数
Public Const PROCESS_QUERY_INFORMATION = &H400&

'指定されたプロセスの終了状態を返す関数
Public Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long

'終了コードを示す定数
Public Const STATUS_PENDING = &H103&
Public Const STILL_ACTIVE = STATUS_PENDING

'オープンしているオブジェクトハンドルをクローズする関数
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

***** 関数 *****

'アプリケーションを起動し、終了するまで待機する
Public Sub WaitShell(AppPath As String, Optional SizeFocusmode As Integer = vbNormalFocus)

  Dim AppID As Long  'Shell関数の戻り値
  Dim Process As Long  'OpenProcess関数の戻り値
  Dim ExitCode As Long  '終了コード
  Dim rc As Long

  AppID = Shell(AppPath, SizeFocusmode)
  Process = OpenProcess(PROCESS_QUERY_INFORMATION, 1, AppID)

  'プロセスが終了していない間はDoEvents関数でOSに制御を戻す
  Do
    rc = GetExitCodeProcess(Process, ExitCode)
    DoEvents
  Loop While ExitCode = STILL_ACTIVE

  rc = CloseHandle(Process)

End Sub

こんにちは。maruru01です。

別のAPIによる方法です。
WaitShellという関数を自作しました。
関数の引数には、Shell関数の引数をそのまま渡せばOKです。


***** API関数と定数の宣言 *****

'既存のプロセスオブジェクトのハンドルを返す関数
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

'OpenProcess関数の第1引数用の定数
Public Const PROCESS_QUERY_INFORMATION = &H400&

'指...続きを読む

Qiptablesについて

お世話になります。
iptableのインターネットインターフェースとはどういうものなのか教えてください。
どういったときに使用するかなども教えていただけると助かります。
宜しくお願い致します。

Aベストアンサー

 ・・・・? 恐らくiptablesでNATルータを作る時の話だと思うのだが、「WAN側のネットワークインタフェース」を指す物だと推測される。

 iptablesでは、パケットフィルタの他にNATも行える。NATはソースNAT、ディスティネーションNAT、IPマスカレード全てを含むと考えていただきたい。

 で、IPマスカレードを行う際には入口と出口があるやんね。インターネットインタフェースとは、その出口の方を指して言っているのではないかな。


人気Q&Aランキング