Bir Docker konteynerinin içinde lsof -i
herhangi bir çıktı vermediği için biraz şaşırdım .
Örnek (kabın içinden tüm komutlar / çıktılar):
[1] root@ec016481cf5f:/# lsof -i
[1] root@ec016481cf5f:/# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
Lütfen PID veya program adının nasıl gösterilmediğine de dikkat edin netstat
. fuser
ayrıca biraz kafa karıştırıcı çıktı verir ve PID'leri de tam olarak belirleyemez.
Herkes buna ışık tutabilir mi?
- Nasıl değiştirebilirim
lsof -i
( süreç adını da görmek için !) - Çıktı neden
netstat
sakat?
Not: Kap "ExecDriver": "native-0.1"
, LXC ile değil, Docker'ın kendi yürütme katmanıyla çalışır .
[1] root@ec016481cf5f:/# fuser -a4n tcp 22
Cannot stat file /proc/1/fd/0: Permission denied
Cannot stat file /proc/1/fd/1: Permission denied
Cannot stat file /proc/1/fd/2: Permission denied
Cannot stat file /proc/1/fd/3: Permission denied
Cannot stat file /proc/1/fd/255: Permission denied
Cannot stat file /proc/6377/fd/0: Permission denied
Cannot stat file /proc/6377/fd/1: Permission denied
Cannot stat file /proc/6377/fd/2: Permission denied
Cannot stat file /proc/6377/fd/3: Permission denied
Cannot stat file /proc/6377/fd/4: Permission denied
22/tcp:
(Ben takıntılı değilim Permission denied
, çünkü bu rakamlar. Beni şaşırtan şey PID'lerin boş listesidir 22/tcp
.)
# lsof|awk '$1 ~ /^sshd/ && $3 ~ /root/ {print}'
sshd 6377 root cwd unknown /proc/6377/cwd (readlink: Permission denied)
sshd 6377 root rtd unknown /proc/6377/root (readlink: Permission denied)
sshd 6377 root txt unknown /proc/6377/exe (readlink: Permission denied)
sshd 6377 root 0 unknown /proc/6377/fd/0 (readlink: Permission denied)
sshd 6377 root 1 unknown /proc/6377/fd/1 (readlink: Permission denied)
sshd 6377 root 2 unknown /proc/6377/fd/2 (readlink: Permission denied)
sshd 6377 root 3 unknown /proc/6377/fd/3 (readlink: Permission denied)
sshd 6377 root 4 unknown /proc/6377/fd/4 (readlink: Permission denied)
sshd 6442 root cwd unknown /proc/6442/cwd (readlink: Permission denied)
sshd 6442 root rtd unknown /proc/6442/root (readlink: Permission denied)
sshd 6442 root txt unknown /proc/6442/exe (readlink: Permission denied)
sshd 6442 root 0 unknown /proc/6442/fd/0 (readlink: Permission denied)
sshd 6442 root 1 unknown /proc/6442/fd/1 (readlink: Permission denied)
sshd 6442 root 2 unknown /proc/6442/fd/2 (readlink: Permission denied)
sshd 6442 root 3 unknown /proc/6442/fd/3 (readlink: Permission denied)
sshd 6442 root 4 unknown /proc/6442/fd/4 (readlink: Permission denied)
sshd 6442 root 5 unknown /proc/6442/fd/5 (readlink: Permission denied)
Bağlı kullanıcı için doğru bir şekilde tanımlanmış daha fazla çıktı var, ama hepsi bu. lsof -i
Belli bir "nesnenin" hangi tip ( internet soketleri ile ilgili sınırlar) olduğunu anlamak imkansızdır .
sshd
, bazıları TCP yuvaları olabilen bir dizi (ayrıca ilişkili) satır gösterir TYPE
unknown
. Acayip. Çıktılarıma sorum ekleniyor.
strace -s 2000 -o lsof.log lsof -i
, neyin engelleneceğine dair bazı ek bilgiler verir.
strace
kendisinin kapta sınırlı olması da mümkündür . Öğrenmek için heyecan verici yeni şeyler. Fikri geri çevirdiğiniz için teşekkürler. Yine de yatağa çarpması gerekir.
lsof
Rapor ne yapar ? Aynısı?