Sziasztok!
Tudja valaki, hogy a netstat miért nem mutatja a futó apache webszervert, miközben az lsof mutatja? Van valamilyen plusz opció, amivel a netstat is rávehető?
Ezt próbáltam netstattal:
# netstat --inet --listening
# netstat --inet --all
Így pedig lsof-fal:
# lsof -i
?
- 1404 megtekintés
Hozzászólások
netstat -antp mit mutat? És mit mutat az lsof?
- A hozzászóláshoz be kell jelentkezni
Az apache-ra vonatkozó részek (a többit töröltem):
# netstat -antp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::80 :::* LISTEN 3735/apache2
# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
apache2 3735 root 4u IPv6 8715 TCP *:www (LISTEN)
apache2 3830 www-data 4u IPv6 8715 TCP *:www (LISTEN)
apache2 3831 www-data 4u IPv6 8715 TCP *:www (LISTEN)
apache2 3832 www-data 4u IPv6 8715 TCP *:www (LISTEN)
apache2 3833 www-data 4u IPv6 8715 TCP *:www (LISTEN)
apache2 3834 www-data 4u IPv6 8715 TCP *:www (LISTEN)
Vagyis csak IPv6-ként jelenítik meg.
Ezek szerint netstat-nak a -4 / --inet / --ip / --protocol=inet opciói csak az IPv4-et listázzák, és az apache nincs köztük.
Ha a -t / --tcp opciót használom, akkor a tcp és a tcp6 kapcsolatok is megjelennek, az apache csak tcp6-ként van a listában.
Ha a -6 / --inet6 / --protocol=inet6 opciókat nézem, mind megjeleníti az apache-ot IPv6-on.
(Természetesen a -l / --listen, vagy a -a / --all opció is kell hozzá).
- A hozzászóláshoz be kell jelentkezni
netstat -ntap
- A hozzászóláshoz be kell jelentkezni
Köszi.
- A hozzászóláshoz be kell jelentkezni
Ezzel osszefutottam en is nemreg, es a kovetkezokre jutottam:
# netstat -n --inet6 --listening
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Kozben se az apache, se az sshd listening portjai nem latszanak, ha csak az ipv4-es listening portokat listazod. Pedig mindketto listenel valojaban ipv4-en es ipv6-on is. (Amit az lsof kimenetben latsz az is valoszinuleg tcp6.) Szoval a
'tcp6 ... :::port ...'
sorokat ertsd inkabb igy:
'tcp46 ... :::port ...'
Nem teljesen latom at ennek a kavarodasnak az okat. (Valami kompatibilitasi mizeria lehet, hogy tudj konnyeden listenelni az osszes lokalis cimen, akar ipv4-es vagy ipv6-os cimek azok. lasd: IPv4-mapped address, dual stack sockets, ...) Az biztos, hogy ez nem a netstat vagy lsof hibaja, mert mindketto a
/proc/net/{tcp{,6},udp{,6}}
file-okat hasznalja, es mar azok kozul is csak a tcp6-ban szerepel a 80-as es 22-es port.
En is orulnek annak, ha valaki elmagyarazna, hogy igy mikepp lehet megkulonboztetni az ipv4/6-os listenelo portokat es azokat, amik csak ipv6-on listenelnek.
- A hozzászóláshoz be kell jelentkezni
Hát igen. A
netstat -46lnp
egyébként minden figyelő szolgáltatást megjelenít, de még ez is csak IPv6-on mutatja az IPv4+IPv6 dolgokat. Viszont legalább látom, hogy fut az apache. Tényleg jó lenne valami módszer...
- A hozzászóláshoz be kell jelentkezni