問題タブ [netstat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C#およびpsexecプロセスの出力リダイレクトの問題
一元化されたデバイスで実行する小さなプログラムを作成しようとしています。このプログラムは実行されます
"psexec \ server(s)netstat -na | findstr" LISTENING ""
リモートノードからnetstatデータを収集し(出力を文字列にリダイレクトする必要があります)、データを解析して既知のリストと比較します。psexec
上記のcmdは、cmd行から問題なく実行できますが、C#プログラム内のプロセスと同じコマンドを実行しようとすると、解析対象のデータが返されません。が実行されていることはわかりますnetstat
が(cmdウィンドウがnetstatの結果とともに点滅します)、process.standardoutputがストリームをキャッチしていません。pingまたはそれ以外のものを使用する場合psexec
引数として、ストリームがキャッチされ、結果がテキストボックスに表示されます。また、ファイル名をpsexec.exeに設定して引数を指定しようとしましたが、同じ結果が得られます。最後になりましたが、引数なしでpsexecを実行すると、テキストボックスにヘルプキックバック情報が返されます。これはpsexec.exe
、ファイル名として実行している場合、またはcmd.exe
「/cpsexec」を。として指定してファイル名として実行している場合に当てはまりますargs
。
この時点でローカルで実行するときに、psexec出力をキャッチしようとしています。後でリモートマシンへのpsexecについて心配します。どんな助けでも大歓迎です。
コードは次のとおりです。
c - 使用中のポートと状態を取得する
Linux で使用中のポートとその状態を取得するにはどうすればよいですか? 基本的に、netstat
できることはすべてですが、Cでは?
c - Linux、Cコードでアクティブなポートとそれらを使用するプロセスを一覧表示する方法
私は次と同じ仕事をするためにCコードを書き込もうとしています:
すべてのリモート/ローカルアドレスとそれらを使用するプロセスを一覧表示します。しかし、どのファイルを読むべきかわかりませんか?
/proc/net/tcp
とを調べてみましたが、表示/proc/net/udp
されるようなプロセス名やプロセス識別子がありません。netstat
ありがとう。
java - サービスがすでに開始されているにもかかわらず、namenodeへのリモートアクセスは許可されていません。
IPが192.168.1.109の単一のマシンにHadoopを正常にインストールして実行しました(実際には、仮想ボックスで実行されているUbuntuインスタンスです)。jpsと入力すると、次のように表示されます
2473 DataNode
2765 TaskTracker
3373 Jps
2361 NameNode
2588 SecondaryNameNode
2655 JobTracker
これは、Hadoopが稼働していることを意味するはずです。./hadoop fs -lsのようなコマンドを実行すると問題なく、期待どおりの結果が得られます。
しかし、次のように接続するJavaコードのHDFS APIを記述して、IPが192.168.1.80のWindowsボックスから接続しようとすると、次のようになります。
構成conf=new Configuration();
FileSystem hdfs = null;
パスfilenamePath=new Path(FILE_NAME);
hdfs = FileSystem.get(conf); <-この行で問題が発生しました
コードを実行すると、エラーは次のように表示されます。
11/12/07 20:37:24 INFO ipc.Client:サーバーへの接続を再試行しています:/192.168.1.109:9000。すでに0回試しました。
11/12/07 20:37:26 INFO ipc.Client:サーバーへの接続を再試行しています:/192.168.1.109:9000。すでに1回試しました。
11/12/07 20:37:28 INFO ipc.Client:サーバーへの接続を再試行しています:/192.168.1.109:9000。すでに2回試しました。
11/12/07 20:37:30 INFO ipc.Client:サーバーへの接続を再試行しています:/192.168.1.109:9000。すでに3回試しました。
11/12/07 20:37:32 INFO ipc.Client:サーバーへの接続を再試行しています:/192.168.1.109:9000。すでに4回試しました。
11/12/07 20:37:33 INFO ipc.Client:サーバーへの接続を再試行しています:/192.168.1.109:9000。すでに5回試しました。
11/12/07 20:37:35 INFO ipc.Client:サーバーへの接続を再試行しています:/192.168.1.109:9000。すでに6回試しました。
11/12/07 20:37:37 INFO ipc.Client:サーバーへの接続を再試行しています:/192.168.1.109:9000。すでに7回試しました。
11/12/07 20:37:39 INFO ipc.Client:サーバーへの接続を再試行しています:/192.168.1.109:9000。すでに8回試しました。
11/12/07 20:37:41 INFO ipc.Client:サーバーへの接続を再試行しています:/192.168.1.109:9000。すでに9回試しました。
java.net.ConnectException:接続例外で/192.168.1.109:9000への呼び出しが失敗しました:java.net.ConnectException:接続が拒否されました:これ以上の情報はありません
ソケットがすでに開いていて、Hadoopサーバーで着信接続を待機しているかどうかを確認するために、ubuntuボックスでnetstatを実行すると、結果が次のように表示されます。
tcp 0 0 localhost:51201 : LISTEN 2765 / java
tcp 0 0 *:50020 : LISTEN 2473 / java
tcp 0 0 localhost:9000 : LISTEN 2361 / java
tcp 0 0 localhost:9001 : LISTEN 2655 / java
tcp 0 0 *:mysql : LISTEN
--tcp 0 0 *:50090 : LISTEN 2588 / java
tcp 0 0 *:11211 : LISTEN
--tcp 0 0 *:40843 : LISTEN 2473 / java
tcp 0 0 *:58699 : LISTEN --tcp
0 0 *:50060 : LISTEN 2765 / java
tcp 0 0 *:50030 : LISTEN 2655 / java
tcp 0 0 *:53966 : LISTEN 2655 / java
tcp 0 0 *:www : LISTEN
--tcp 0 0 *:epmd : LISTEN
--tcp 0 0 *:55826 : LISTEN 2588 / java
tcp 0 0 *:ftp : LISTEN --tcp
0 0 *:50070 : LISTEN 2361 / java
tcp 0 0 *:52822 : LISTEN 2361 / java
tcp 0 0 *:ssh : LISTEN
--tcp 0 0 *:55672 : LISTEN --tcp
0 0 *:50010 : LISTEN 2473 / java
tcp 0 0 *:50075 : LISTEN 2473 / java
ローカルアドレス列がlocalhost:9000のようなものである場合(localhost:ではなく* :)、リモートホストから接続できないか、場合によっては独自のボックスに接続できないことに気付きました。telnet localhost 9000を試しましたが、動作します。つまり、ポートに接続できますが、telnet 192.168.1.109 9000を使用すると、次のようなエラーが表示されます。
$ telnet 192.168.1.109 9000192.168.1.109を試行しています...telnet:リモートホストに接続できません:接続が拒否されました
私は今本当に疲れ果てている問題を理解するためにほぼ一週間を費やしました、そして誰かが私を助けてくれることを願っています。
注:namenodeがデフォルトでリモート接続を拒否するかどうかはわかりません。リモート接続を許可するには、いくつかの設定を変更する必要がありますか?
netstat - netstat -i 指定されたインターフェースのメトリック値は何を意味していますか?
netstat -i を使用すると、次のサンプルのような出力が得られます。
Linux Network Administrator's Guide ( http://tldp.org/LDP/nag2/x-087-2-iface.netstat.html ) によると、
MTU および Met フィールドには、そのインターフェイスの現在の MTU およびメトリック値が表示されます。RX および TX 列は、エラーなし (RX-OK/TX-OK) または損傷 (RX-ERR/TX-ERR) で受信または送信されたパケットの数を示します。ドロップされた数 (RX-DRP/TX-DRP); オーバーランのために失われた数 (RX-OVR/TX-OVR)。
特定のインターフェイスのメトリック値は正確には何を意味しますか?
c - /proc/net/tcp Solaris 11 での代替
ほとんどの Linux ディストリビューションでは、/proc/net/tcp を読み取ることですべての tcp 接続を一覧表示できましたが、これは Solaris には存在しません。Solaris 11 で tcp 接続を読み取ることができるファイルはありますか?
ありがとう。
編集:私はcでコーディングしていることを忘れていました。
installation - ExecDos::exec から出力を取得する方法
コマンドプロンプトで実行するnetstat -a |find /C $portNumber
と、指定されたポート番号が存在する行の総数が表示されます。
ポートがすでに占有されているか、NSIS で空いているかを確認できるように、任意の変数で同じカウントを取得したいと考えています。
以下のコマンドを実行していて、さまざまな方法で試しましたが、変数またはスタックで ExecDos::exec の出力を取得できません。
c++ - サーバーへの SYN/ESTABLISHED 接続をカウントするには?
C/C++ を使用して、サーバーへの SYN および ESTABLISHED 接続の数を取得したいと考えています。しかし、popen を呼び出して netstat やその他の Linux コマンドを実行したくありません。/proc/net/ip_conntrack をスキャンして数字を取得することができました。しかし、アプリケーションがそのメソッドを呼び出すたびに、ip_conntrack をスキャンするには多くのリソースが必要であることに気付きました。他に簡単な方法はありますか?
awk - awkでss出力を解析する
C プログラムから、特定のアプリケーション リストのアプリケーションとその出力ポートのリストを取得したいと考えています。
私は次のようなものを使用することを考えています
のようなリストが表示され41477 59505
ます。
ss を一度呼び出してから、すべてのアプリケーションに対してこれを取得する効率的な方法は何ですか? (複数の出力パイプ?多くの一致に対して awk を使用する最適な方法はありますか?ファイルに ss を指定してから、何度も awk を実行しますか?)
ありがとう!
shell - コマンド「netstat -p」で pid が表示されない
シェル コマンド netstat -p は pid を表示しません。次のように「-」を表示します。
なぜ?
rootでログインしても「-」と表示されます。