2011-12-20 13 views

答えて

0

は私が生成されているポートを動的テストの実行で生成されると信じています。 OSレベルのツールを使用して、プロセスによって開いた接続を検査し、そのようにポートを収集することができます。私は私のubuntuシステムでこれを行うことはめったにないので、私はツールが何をしているのかを私の頭の上から教えてくれません。 Netstatかもしれない?私はいつも外出してgoogleをしなければならないので、これを完全な答えよりも多く考えてみてください。

ああ、もっと明確にする...私はデバッグブレークポイントを入れ、それを破ったときにOSレベルのツールを使って、その時点でテストサーバーが実行しているポートを確認します。それを予見的に発見するには?いいえ、ごめんなさい。

は、ここで私が使用しているものです:

のnetstat -an | grep LISTEN

+0

jaydelのアイデアを使って、ここにコードがあります。現在のPIDを持つnetstatから行を抽出します。 (おそらくこれを行う最もエレガントな方法ではないが動作します) 値=%x(netstat -l -p --tcp) pid = $$。to_s local_port = "" value.split n ")。それぞれの| i | i.include(PID) M = i.matchか?(/ \ *:(\ D +)/) LOCAL_PORT = M [1] MacOSで 端端 – zsimpson

0

(コードの書式が正しくなるように自分の質問に答えます)... jaydelのアイデアを使用してnetstatを使用します。ここにコードがあります。現在のPIDを持つnetstatから行を抽出します。 (おそらくこれを行う最もエレガントな方法ではありませんが、それは動作します)

value = %x(netstat -l -p --tcp) 
pid = $$.to_s 
local_port = "" 
value.split("\n").each do |i| 
    if i.include?(pid) 
     m = i.match(/\*:(\d+)/) 
     local_port = m[1].to_s 
    end 
end 
+0

を.to_s、netstatコマンド」がなければなりませんnetstat -l -p tcp "(tcpの前に - は付きません)。 –

関連する問題