Saya perlu tahu apakah suatu proses dengan PID yang diberikan sebagai membuka port tanpa menggunakan perintah eksternal. Saya kemudian harus menggunakan sistem /proc
file. Saya dapat membaca /proc/$PID/net/tcp
file misalnya dan mendapatkan informasi tentang port TCP yang dibuka oleh proses. Namun, pada proses multithreaded, /proc/$PID/task/$TID
direktori juga akan berisi net/tcp
file. Pertanyaanku adalah :
apakah saya perlu memeriksa semua net/tcp
file utas , atau apakah port yang dibuka oleh utas akan ditulis ke dalam net/tcp
file proses .
sumber
fd
direktori dari setiap thread? Atau apakah/proc/pid/fd
direktori "mewarisi"/proc/pid/task/tid/fd
direktori?fd
direktori thread hanya mengulangifd
direktori proses.Silahkan
dan Anda akan mendapatkan output seperti ini
Kolom kedua (local_address) dari output menunjukkan port dalam Hexadecimal. Gunakan Kalkulator Pemrograman Anda untuk mengonversi kode heks menjadi desimal.
Misalnya di sini, port: 01BB (dalam hex) sama dengan 433 (dalam desimal) yang merupakan port default HTTPS.
sumber