netstatコマンドで、ホスト名、ポート番号などをフィルタリング( netstat -a | grep hostname | grep portnumber)しながら、連続実行(Interval)する方法、出来ればシェルスクリプトではなくて、コマンドライン一発で実行する方法を教えて下さい。

 UNIX系はそれほど仕様に大きな違いはないと思いますが、一応、環境としてはHP-UXです。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:
  • 終了:2009/08/25 13:09:59
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pahoo No.3

回答回数5960ベストアンサー獲得回数633

ポイント40pt

watchコマンドは無いのですか‥‥sleepコマンドがあれば、下記のようにしてもできます。同じく5秒間隔です。

while true; do netstat -a | grep hostname | grep portnumber; sleep 5; done;

※設定された回答回数の上限になりました。さらにフォローが必要でしたら、コメント欄を開けていただくか、回答回数を増やしてください。

id:atmcjj

助かりました。

これで目的が達せられます。

2009/08/25 13:07:47

その他の回答2件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント30pt

watchコマンドを使えばできます。

たとえば5秒間隔で実行するなら、コマンドラインで下記のように指示してください。

watch --interval 5 "netstat -a | grep hostname | grep portnumber";
id:atmcjj

早速の回答、ありがとうございます。

どうも当該環境には、"watch"がないようなので、他の解決方法をご提案いただけると幸いです。

2009/08/23 16:55:48
id:kn1967 No.2

回答回数2915ベストアンサー獲得回数301

ポイント10pt

もしもですが、

パッシブな状態のものは切り捨て可能(-aオプションは使わなくても良い)なら

netstat のインターバルオプションを使うという手もあると思いますが、いかが?


HP-UX リファレンス netstat(1)

id:atmcjj

まず、Listenしているポートで検索するので、"-a"は必要です。

また、HP-UX 11iでは、普通に、"netstat 5 | grep portnumber"としても、パイプを抜けて行かないようです。

また、Solarisでは、-i(統計オプション)なら行けそうですが、"-a"オプションではダメなようです。

さらに、Linuxなら、ご提案のとおり出来そうです。

これほど、OSに拠って振る舞いが異なるとは思いませんでした。

2009/08/23 21:03:09
id:pahoo No.3

回答回数5960ベストアンサー獲得回数633ここでベストアンサー

ポイント40pt

watchコマンドは無いのですか‥‥sleepコマンドがあれば、下記のようにしてもできます。同じく5秒間隔です。

while true; do netstat -a | grep hostname | grep portnumber; sleep 5; done;

※設定された回答回数の上限になりました。さらにフォローが必要でしたら、コメント欄を開けていただくか、回答回数を増やしてください。

id:atmcjj

助かりました。

これで目的が達せられます。

2009/08/25 13:07:47
  • id:kmond2
    > 2 回答者:kn1967 2009-08-23 19:07:54
    > netstat のインターバルオプションを使うという手もあると思いますが、いかが?
    > HP-UX リファレンス netstat(1)

    ご自身が掲示された「HP-UX リファレンス netstat(1)」のどこをどう読めば、インターバルオプションがあると解釈できるのでしょうか?
    インターバルオプションがあるのはWindowsと一部のLinuxだけです。
    UNIXに関する知識がまったく無いように見受けられます。
  • id:kn1967
    kmond2 2009-08-25 13:16:29
    >ご自身が掲示された「HP-UX リファレンス netstat(1)」のどこをどう読めば、
    >インターバルオプションがあると解釈できるのでしょうか?

    interval と書いてあるのが見えなかったのか?
    -a 必須との事だから使えなかったけどな。
  • id:kmond2
    > kn1967 2009-08-25 13:42:45
    > interval と書いてあるのが見えなかったのか?

    > HP-UX リファレンス netstat(1)
    > 構文
    > netstat [-an] [-f address-family] [system [core]]

    はぁ?
    どこに "interval" と書いてあるのですか?
    質問にaオプションが明記されているのですから、あえて違う構文を示すわけはありませんよね。
    ところで、Windowsはaオプションとインターバルを併用できるようですね(笑)。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません