本地地址/端口栏中的 ,是什么ss
意思?*:ipproto-255
$ sudo ss -ap | grep -vE "^(nl |u_)"
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
p_raw UNCONN 0 0 *:eth0 * users:(("lldpd",pid=742,fd=11))
raw UNCONN 0 0 *:icmp *:* users:(("ping",pid=9077,fd=3))
raw UNCONN 0 0 *:ipproto-255 *:* users:(("atop",pid=7353,fd=4))
raw UNCONN 0 0 :::ipv6-icmp :::* users:(("ping",pid=9077,fd=4))
udp UNCONN 0 0 *:syslog *:* users:(("rsyslogd",pid=495,fd=5))
...
如果您想知道它的样子netstat
,它会显示为0.0.0.0:255
。
$ sudo netstat -l --raw -ep
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
raw 0 0 0.0.0.0:255 0.0.0.0:* 7 root 2427667 7353/atop
答案1
255 是 的值IPPROTO_RAW
。这意味着该套接字允许发送所有类型的 IPv4 数据包。 (它无法接收数据包)。该程序必须提供完整的 IPv4 标头。
作为比较,原始套接字*:icmp
允许发送和接收使用 ICMP 协议的 IPv4 数据包。
这些细节特定于 Linux。原始套接字的确切行为因不同的 Unix 变体和版本而异。
http://man7.org/linux/man-pages/man7/raw.7.html
IPv4 协议字段有 255 个可能的值。
https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers
也就是说,我发现这个特定的IPPRPROTO_RAW
套接字没有用于发送数据包: