ss mostra um soquete bruto. O que significa que ele está escutando em “*: ipproto-255”?

0

O que ss significa em *:ipproto-255 , no endereço local / coluna da porta?

$ 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))
...

Se você quiser saber o que parece em netstat , ele aparece como 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
    
por sourcejedi 13.11.2018 / 12:30

1 resposta

1

255 é o valor de IPPROTO_RAW . Isso significa que esse soquete permite enviar todos os tipos de pacotes IPv4. (Não pode receber pacotes). O programa deve fornecer um cabeçalho IPv4 completo.

Para comparação, o soquete bruto com *:icmp permite enviar e receber pacotes IPv4 que usam o protocolo ICMP.

Esses detalhes são específicos do Linux. O comportamento exato dos soquetes brutos varia entre diferentes variantes e versões do Unix.

link

O campo do protocolo IPv4 tem 255 valores possíveis.

link

Dito isto, eu encontrei este particular IPPRPROTO_RAW socket não estava sendo usado para enviar pacotes:

Por que a parte superior abre uma cavidade bruta?

    
por 13.11.2018 / 12:30