要するに

要するに

私のシステムで生成されたいくつかのネットワークポートにいくつかのデータを入力し、それを手動で実行したいとしましょう。ファイルシステムにそのためのインターフェースはありますか?
たぶん特別な種類のファイルに書き込むことができますか?そうでなければどのように機能しますか?

(私はこの質問をするのが面白く聞こえるかもしれませんが、まったく話されていなくても、このトピックに関する良い記事へのリンクを喜んで受け入れます。)

ベストアンサー1

要するに

catファイルへの書き込みを使用したり、ネットワーク経由で転送したりするなど、説明した操作は何とかできません。ただし、これを実行できるツールがあります。 socatnetcatまたはsocatsocat(より柔軟ですが、やや汚れ)を見てください。どちらもデプロイメントリポジトリにあります。

説明する

Linuxでは、IPソケットはユーザースペースに存在し、ファイルシステム自体にファイルはありません。

これを実証するために、以下を実行しました$ lsof -i :15115(ポート15115はSkypeに関連付けられています)。

COMMAND  PID     USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
skype   3836 eightbit   43u  IPv4 9020794      0t0  TCP *:15115 (LISTEN)
skype   3836 eightbit   44u  IPv4 9020795      0t0  UDP *:15115 

したがって、プロセスには3836TCPソケットに番号付きのファイル記述子があります(「u」はファイルがr + w権限で開かれていることを意味します)。4315115

したがって、これを行うと、次のような$ ls -l /proc/3836/fd/43 && file /proc/3836/fd/43結果が得られます。

lrwx------ 1 eightbit eightbit 64 Sep 26 00:37 /proc/3836/fd/43 -> socket:[9020794]
/proc/3836/fd/43: broken symbolic link to socket:[9020794]

ご覧のとおり、ソケットはありません。本物1つの文書。

おすすめ記事