生ソケットで使用される一時ポート

生ソケットで使用される一時ポート

引用するソースポートを割り当てる方法、ローカルポートがどのように決定されるかを知っています。 (=>任意の無料の一時ポート)。

しかし、私のrawソケットが割り当てられたsocket(AF_INET, SOCK_RAW, IPPROTO_TCP)ポートを使用するのはなぜですか6

ss -lnp示す:tcp UNCONN 0 0 0.0.0.0:6 0.0.0.0:* users:(("exe",pid=13164,fd=5))

=6IPPROTO_TCPがで定義されているため、ソケットを誤って生成しましたかlinux/in.h?または6、可能であればRAW_SOCKETSはデフォルトでポートを使用しますか?

これが重要な場合は、Ubuntu 4.15を使用しています。

ベストアンサー1

@dirktが述べたように、ソケットはポートにバインドされておらず、プロトコルはdisplaysポート(明らかに存在しない)の代わりにローカルIPの背後にあります。

使用socket(AF_INET, SOCK_RAW, 123)ss出力??? UNCONN 0 0 0.0.0.0:123 0.0.0.0:* users:(("exe",pid=10039,fd=3))

また、3番目の引数として異なる数値を使用してテストしたsocket()結果sslocal port

おすすめ記事