Saya agak bingung bahwa di dalam wadah Docker lsof -itidak menghasilkan output apa pun.
Contoh (semua perintah / output dari dalam wadah):
[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 -
Harap perhatikan juga bagaimana tidak ada PID atau nama program yang ditunjukkan oleh netstat. fuserjuga memberikan hasil yang agak membingungkan dan tidak dapat menentukan PID juga.
Adakah yang bisa menjelaskan hal ini?
- Bagaimana saya bisa mengganti
lsof -i(untuk melihat nama proses juga!) - Mengapa output dari
netstatpincang juga?
NB: Kontainer berjalan dengan "ExecDriver": "native-0.1", itu adalah layer eksekusi Docker sendiri, bukan LXC.
[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:
(Saya tidak terobsesi dengan Permission denied, karena angka-angka itu. Yang membingungkan saya adalah daftar PID kosong setelahnya 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)
Ada beberapa output lagi untuk pengguna yang terhubung, yang diidentifikasi dengan benar juga, tetapi hanya itu. Tampaknya tidak mungkin untuk membedakan jenis ( lsof -ibatasan untuk soket internet) "objek" tertentu.
sshdterkait) baris, beberapa di antaranya bisa menjadi soket TCP, sebagai TYPE unknown. Aneh. Menambahkan output ke pertanyaan saya.
strace -s 2000 -o lsof.log lsof -ikemungkinan akan memberi Anda wawasan tambahan tentang apa yang diblokir.
straceitu sendiri terbatas dalam wadah. Hal-hal baru yang menarik untuk dipelajari. Terima kasih telah memunculkan ide. Tapi harus tidur.
lsofdilaporkan? Sama?