GNU/Linux >> Belajar Linux >  >> Linux

Baca / proc untuk mengetahui apakah suatu proses telah membuka port

Saya dapat membaca file /proc/$PID/net/tcp misalnya dan mendapatkan informasi tentang port TCP yang dibuka oleh proses tersebut.

File itu bukan daftar port tcp yang dibuka oleh proses . Ini adalah daftar semua port tcp terbuka di namespace jaringan saat ini, dan untuk proses yang berjalan di namespace jaringan yang sama adalah identik ke konten /proc/net/tcp .

Untuk menemukan port yang dibuka oleh proses Anda, Anda perlu mendapatkan daftar deskriptor soket dari /proc/<pid>/fd , lalu cocokkan deskriptor tersebut dengan inode bidang /proc/net/tcp .


Tolong

cat /proc/$PID/net/tcp

dan Anda akan mendapatkan hasil seperti ini

  sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
  0: 00000000:01BB 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 2891985097 1 0000000000000000 100 0 0 10 0

Kolom kedua (local_address) dari output menunjukkan port dalam Hexadecimal. Gunakan Kalkulator Pemrograman Anda untuk mengubah kode hex menjadi desimal.

Misalnya di sini, port :01BB (dalam hex) sama dengan 433 (dalam desimal) yang merupakan port default HTTPS.


Linux
  1. Bagaimana saya tahu /dev/ttyS* mana port serial saya?

  2. Bagaimana cara membaca dari /proc/$pid/mem di Linux?

  3. File mana di /proc yang dibaca oleh kernel selama proses boot?

  1. 14 port jaringan umum yang harus Anda ketahui

  2. File sistem file Linux / proc penting yang perlu Anda ketahui

  3. Linux – Bagaimana Cara Membaca Dari /proc/$pid/mem Di Linux?

  1. Bagaimana cara mendapatkan jalur proses di Unix / Linux

  2. /proc/[pid]/pagemaps dan /proc/[pid]/maps | linux

  3. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?