タグ付けされた質問 「socket」

は、同じホストオペレーティングシステム内で実行されているプロセス間でデータを交換するためのデータ通信エンドポイントです。

2
LinuxのUNIXドメインソケットパスの先頭にある@記号は何を示していますか?
実行したとき、netstat --protocol unixまたはlsof -UいくつかのUNIXソケットパスの前に@記号が付いていることがわかります(例:@ / tmp / dbus-qj8V39Yrpa)。実行するls -l /tmpと、そこにdbus-qj8V39Yrpaという名前のファイルが表示されません。 問題は、先頭に付加された@記号が何を意味するかということです。2番目の関連する質問は、ファイルシステム上のunixソケットファイル(@ / tmp / dbus-qj8V39Yrpa)を実際にどこで見つけることができますか?
17 linux  path  socket 

3
NFSを使用していないシステムで実行されているrpc.statd
私は、そのrcp.statdようなソケットでリッスンしている警告を(Tiger自動監査役経由で)受け取るDebianマシンを持っています。グーグルショーrpc.statdは、NFSが使用するデーモンです。私の知る限り、NFSに関連するものは使用していません(インストールもしていません)。 このサービスをインストール/開始したものrcp.statdと、適切なNFSデーモンを無効にするにはどうすればよいですか?


1
iprouteパッケージの「ss」コマンド。timewaitソケットのスラブテーブルをクエリする理由
これがこの質問の最良のフォーラムではない場合はご容赦ください。しかし、プログラミング自体よりもカーネルに関連しているようです。 統計をグラフ化して監視できるように、開いているポートをシステムに照会するスクリプトを書いています。このために、iprouteパッケージの「ss」コマンドを使用しています。実行ss -s|grep estabすると、次のような出力が表示されます。 TCP: 296 (estab 6, closed 238, orphaned 0, synrecv 0, timewait 238/0), ports 0 私の質問は、TIMEWAIT状態の計算されたソケットを示すtimewait変数に関係しています。スラッシュの後に何の数字が参照されているのかを理解しようとすると、ソースコードを検索するという急な冒険になり、最終的に次のスニペットを見つけることになりました。 printf("TCP: %d (estab %d, closed %d, orphaned %d, synrecv %d, timewait %d/%d), ports %d\n", s.tcp_total + slabstat.tcp_syns + s.tcp_tws, sn.tcp_estab, s.tcp_total - (s.tcp4_hashed+s.tcp6_hashed-s.tcp_tws), s.tcp_orphans, slabstat.tcp_syns, s.tcp_tws, slabstat.tcp_tws, slabstat.tcp_ports ); 「slabstat」が意味するものを検索した結果、最終的にスラブキャッシュと/ proc …

2
Linuxは抽象的なドメインソケットを自動的にクリーンアップしますか?
StackOverflowには、デーモンの一般的なPIDファイルロックメカニズムに依存しない(Eduardo Fleuryから合成された)デーモンに対してより良いロックを提供するという素晴らしい回答があります。PIDロックファイルが問題を引き起こすことがある理由については、多くの良いコメントがありますので、ここではそれらを再ハッシュしません。 要するに、このソリューションはLinuxの抽象名前空間ドメインソケットに依存しています。これは、デーモンがSIGKILLされた後もファイルに依存するのではなく、名前でソケットを追跡します。この例は、プロセスが停止するとLinuxがソケットを解放するように見えることを示しています。 しかし、バインドされたプロセスがSIGKILLされたとき、Linuxが抽象ソケットで正確に何をするかを示す明確なドキュメントをLinuxで見つけることができません。誰か知っている? 別の言い方をすると、抽象ソケットが正確に解放されて再び使用できるようになるのはいつですか? 問題を確実に解決しない限り、PIDファイルメカニズムを抽象ソケットに置き換えたくありません。


5
AIXでは、ポートにバインドされたプログラムのフルパスを取得するにはどうすればよいですか?
Linuxでは、次のようにnetstat -tulpnwand を使用できますps。 # netstat -tulpnw | grep :53 tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1482/named udp 0 0 127.0.0.1:53 0.0.0.0:* 1482/named # ps aux | fgrep 1482 named 1482 0.0 1.0 93656 44900 ? Ssl Sep06 3:17 /usr/sbin/named -u named root 20221 0.0 0.0 4144 552 pts/0 R+ 21:09 …
14 process  aix  socket  lsof  netstat 

1
閉じられた後、バインドされているTCPローカルソケットアドレスはどのくらいの間使用できなくなりますか?
Linux(私のライブサーバーはRHEL 5.5上にあります-以下のLXRリンクはカーネルバージョンへのリンクです)、man 7 ipと言います: バインドされたTCPローカルソケットアドレスは、SO_REUSEADDRフラグが設定されていない限り、閉じた後しばらく利用できません。 私は使用していませんSO_REUSEADDR。「いつか」はどれくらいですか?どのくらいの長さで、どのように変更できますか? 私はこれをあちこち探してみましたが、いくつかの情報を見つけましたが、どれもアプリケーションプログラマーの観点からこれを実際には説明していません。機知に: TCP_TIMEWAIT_LENでnet/tcp.h「TIME-WAIT状態を破壊するために待機する時間」であり、「約60秒」に固定されています / proc / sys / net / ipv4 / tcp_fin_timeoutは、「ソケットが当社側で閉じられた場合、FIN-WAIT-2状態にソケットを保持する時間」であり、「デフォルト値は60秒です」 私がつまずいているのは、TCPライフサイクルのカーネルモデルと利用できないポートのプログラマーモデルとの間のギャップを埋めることです。つまり、これらの状態が「いつか」に関係するかを理解することです。

1
ソケットファイルに関する詳細情報の入手方法
このようなソケットファイルの場合: # ls -alti socket 14112 srw------- 1 root root 0 Nov 15 20:03 socket # cat socket cat: socket: No such device or address catここではコマンドは役に立たないので、ソケットファイルに関する詳細情報を取得する方法はありますか?どのポートでリッスンしているかなど?等


1
UNIXドメインソケットを移動すると、socatはどのようにトラフィックを監視できますか?
socat Unixドメインソケット全体のトラフィックを監視するために使用できます。 sudo mv /path/to/sock /path/to/sock.original sudo socat -t100 -x -v UNIX-LISTEN:/path/to/sock,mode=777,reuseaddr,fork UNIX-CONNECT:/path/to/sock.original 私はこのメカニズムがどのように機能するかをよく理解していないので、誰かが少し説明できるといいのですが。特に、プロセスが既にリッスンしている場合、ソケットファイルの移動はどのように機能しますか?また、移動後:結果lsof /path/to/sockも/path/to/sock.original返されません。
12 socket  socat 

2
&6と/ dev / fd / 6の違いは何ですか?
ファイル記述子6から読み取るには、<&6or </dev/fd/6(別名/proc/self/fd/6)を使用できます。通常、どちらも同じように機能します。しかし、そのファイル記述子がたまたまソケットである場合、奇妙なことが起こります。例えば: $ bash -c 'ls -l /dev/fd/6;cat /dev/fd/6' 6</dev/tcp/localhost/12345 lrwx------ 1 michas michas 64 Jan 10 19:50 /dev/fd/6 -> socket:[315010] cat: /dev/fd/6: No such device or address ここでlsは、記述子が実際に存在することを示しています。ただし、この方法ではデータにアクセスできません。cat <&6代わりに使用すると、すべてが再びうまく機能します。 ファイル記述子にアクセスする両方の方法の違いは何ですか? 変数で番号が指定されている場合、記述子にアクセスするための良い方法はありますか?(</dev/fd/$fd動作しますが、<&$fd動作しません。) (上記の状況はLinuxでは観察できますが、OpenBSDでは観察できません。-そのファイル記述子はそこで通常の文字デバイスであるようです。)

1
誰かがさまざまな種類のUNIXドメインソケットを説明できますか?
実行netstat --all | grep ^unixすると、出力されるソケットパスの前に「@」が付いているものとないものがあります。「@」が前に付いているものは、ファイルシステムを参照するときに表示されませんlsが、残りは表示されます。 これらの2種類のソケットとは何ですか?それらの違いは何ですか?
11 socket 

2
ローカルUNIXソケット-スループットの大まかな考え方
プロセス間通信にローカルUNIXソケットを使用する場合のスループットベンチマーク/測定を知っている人はいますか? データベースからのデータを要求しているソフトウェアと同じサーバー上にローカルデータベースインスタンスを配置することと、ネットワークリンクを介して通信する必要があること(特に、ギガビットイーサネットのように低速であることが予想される場合)のパフォーマンス上の利点を説明したい相対的に言えば。 オンラインで検索したところ、1秒あたりの操作数を示すベンチマークが見つかりましたが、1秒あたりのスループット(12GB /秒)はありませんでした。 特定のシステムのメモリスループットやその他のハードウェアの特性などにより、パフォーマンスが変化することを理解していますが、大まかな考え方が必要です。 これは、ローカルTCPのパフォーマンスやそれとの比較を指すものではありません。

1
汎用ソケットとは何ですか?それはネットワークデバイスとどのように関係しますか?
Linuxでネットワークドライバーがどのように機能するかを理解しようとしています。このQ&Aは、Linuxのネットワークデバイスがデバイスファイルで表されていないことを示しました。これは、ネットワークドライバーがで動作することを示していますsockets。 たとえば、これioctlは通話を通じてネットワークデバイスをセットアップする方法を参照します。ioctlただし、ネットワークドライバー用のデバイスファイルがない場合、ファイル記述子が必要です。渡すことができるファイル記述子は、ソケットからのものだけです。 これは私に質問のポイントをもたらします。これまでのところ、物理ネットワークカードのソフトウェア表現であるネットワークインターフェイスは、実際にはソケットよりも劣っているオブジェクトのようです。 しかし、この抽象的な意味でのソケットとは何ですか、それはプッシュ通知をサポートするデバイスファイルの別の名前ですか?ユーザースペースアプリによってネットワークインターフェースのアドレス:ポートのペアにバインドされた接続ポイントに関して、TCPソケットについて理解しています。ソケットをネットワークインターフェイスをセットアップするための前提条件として理解していません。 (のようなLinuxのネットワークインタフェースすることができますeth0によって記載されているがifconfig)ソケットなしでは存在しますか? DOES ifconfigまたはいくつかのネットワーク・マネージャ・デーモンは、私たちはネットワーク・インタフェース・オプションを設定できるように開いたソケットを保ちますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.