2 votos

como correr "hping" sin "sudo

He instalado hping usando brew install hping .

Cuando corro hping sin sudo Lo entiendo:

$ hping 8.8.8.8
[open_sockraw] socket(): Operation not permitted
[main] can't open raw socket

Cuando corro sudo hping naturalmente, lo entiendo:

$ sudo hping -S -p 80 8.8.8.8
Password:
HPING 8.8.8.8 (en0 8.8.8.8): S set, 40 headers + 0 data bytes
len=46 ip=8.8.8.8 ttl=57 id=332 sport=80 flags=RA seq=0 win=512 rtt=1.4 ms
len=46 ip=8.8.8.8 ttl=57 id=46923 sport=80 flags=RA seq=1 win=512 rtt=2.7 ms
len=46 ip=8.8.8.8 ttl=57 id=25098 sport=80 flags=RA seq=2 win=512 rtt=2.2 ms
^C
--- 8.8.8.8 hping statistic ---
8 packets tramitted, 8 packets received, 0% packet loss
round-trip min/avg/max = 1.4/2.4/2.9 ms

Mi pregunta aquí es, ¿qué permisos hay que cambiar para dar hping los permisos que necesita ¿y cómo lo hago?

3voto

peterpan Puntos 31

Siempre es un riesgo de seguridad ejecutar un binario como Root. La mejor manera de hacer las cosas sería establecer la capacidad de socket raw de unix.

sudo setcap cap_net_raw+ep /usr/bin/hping3

De esta manera no le das al binario permisos que no necesita.

(También puedes mirar las capacidades de los conjuntos, por ejemplo: getcap /bin/ping )

1 votos

Es setcap disponible en MacOS?

2voto

klanomath Puntos 19587

Para cambiar el comportamiento de hping tienes que cambiar el user:group del ejecutable y añadir el setuid flag:

sudo chown root:wheel /usr/local/Cellar/hping/3.20051105/sbin/hping3
sudo chmod u+s /usr/local/Cellar/hping/3.20051105/sbin/hping3

(sólo para recordar: /usr/local/sbin/hping|hping2|hping3 son finalmente soft-linked a /usr/local/Cellar/hping/<version_nr>/sbin/hping3)

Algunos hping las opciones están desactivadas si la bandera s está puesta!


Por lo tanto, por razones de seguridad se prefiere un enfoque diferente: Haciendo que un programa siempre se ejecute como Root en OS X !

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X