arti kolom alamat lokal Netstat


20

Ketika saya melakukannya netstat -ntlpada kolom yang disebut Local Address:

  • terkadang akan menampilkan alamat IP sebagai 0.0.0.0:7180
  • dan terkadang 127.0.0.1:9001

Apa implikasi kedua notasi tersebut?

Apakah alamat IP tertentu bertindak seperti filter untuk koneksi yang masuk? Misalnya untuk 127.0.0.1:9001itu hanya akan menerima koneksi dari localhost di port 9001?

Jawaban:


13

Saya pikir Anda telah menjawab pertanyaan Anda sendiri.

Sebagai contoh, apachememiliki Listenopsi yang memberitahukan alamat dan port mana untuk didengarkan. Tergantung pada bagaimana ini diatur, apacheakan mendengarkan alamat IP apa pun, alamat tertentu: -

Listen *:80
Listen 0.0.0.0:80
Listen 127.0.0.1:80
Listen 192.168.0.5:80

Opsi di atas muncul sebagai: -

:::80
0.0.0.0:80
127.0.0.1:80
192.168.0.5:80

dan terjemahkan ke: -

  • Dengarkan alamat IP apa pun (IPv4 atau IPv6)
  • Dengarkan alamat IPv4 apa pun di server itu
  • Dengarkan di IPhost localhost saja
  • Dengarkan alamat IPv4 eksternal 192.68.0.5

Anda dapat mengonfigurasi layanan Anda untuk hanya mendengarkan localhostantarmuka jika Anda tidak ingin orang luar mengaksesnya. Misalnya, jika Anda menjalankan server LAMP, Anda harus apachemendengarkan semua alamat IP (sehingga pengguna Anda dapat mengaksesnya) sementara mysqldatabase dapat dikonfigurasi agar hanya dapat diakses dari localhost(menggunakan bind=127.0.0.1arahannya). Dengan cara ini phpberjalan di server yang sama akan dapat mengakses database sementara pengguna eksternal (dan tidak tepercaya) tidak akan dapat mengaksesnya.


:::80tidak selalu menyiratkan IPv4 juga unix.stackexchange.com/a/496150/333382
rfc2460

11

127.0.0.1 dan 0.0.0.0

127.0.0.1berarti antarmuka lokal atau alamat loopback. Hanya dapat diakses dari localhost Anda.

0.0.0.0 adalah alamat wildcard untuk setiap antarmuka.

Aktif netstat -ntlp Local Addressberarti "Cetak koneksi tcp mendengarkan aktif, perlihatkan IP sebagai nilai numerik dan tunjukkan PID dan nama program yang menggunakan koneksi ini."


Perbedaan dengan contoh

Misalkan saya punya

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name                 
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1189/prog1
tcp        0      0 0.0.0.0:6666            0.0.0.0:*               LISTEN      1188/prog2

itu berarti:

Layanan prog1dengan PID 1189mendengarkan pada port 53dengan protokol tcp. Ini hanya dapat diakses dari localhost Anda.

Layanan prog2dengan PID 1189mendengarkan pada port 6666dengan protokol tcp. Akses ke port ini diizinkan dari komputer lain di semua jaringan yang menjadi bagian dari komputer.

Sumber: 1 2 3


3

0.0.0.0 berarti proses terikat ke semua antarmuka.

127.0.0.1berarti prosesnya hanya terikat pada 127.0.0.1antarmuka (loopback).

Jika Anda memiliki antarmuka lain, Anda mungkin memiliki x.y.z.aentri yang menunjukkan proses terikat ke antarmuka tertentu.

Suatu proses hanya akan diberitahu jika lalu lintas tiba pada antarmuka yang terikat, jadi ya, ini semacam filter, meskipun biasanya tidak dijelaskan dalam istilah tersebut.


2

"Alamat lokal" adalah alamat yang terikat dengan soket yang dimaksud. Ini adalah alamat yang menerima koneksi. Alamat yang Anda tanyakan adalah "alamat khusus". Menurut halaman manual untuk protokol Linux IPv4 :

Ada beberapa alamat khusus: INADDR_LOOPBACK( 127.0.0.1) selalu merujuk ke host lokal melalui perangkat loopback; INADDR_ANY ( 0.0.0.0) berarti alamat apa pun untuk diikat; INADDR_BROADCAST ( 255.255.255.255) Berarti host mana pun dan memiliki efek yang sama pada bind seperti INADDR_ANYuntuk alasan historis.

Apa artinya ini untuk alamat 0.0.0.0adalah bahwa soket dapat menerima koneksi untuk alamat apa pun pada sistem, pada antarmuka apa pun.


1

Seperti yang Anda katakan, IP localhost hanya menerima koneksi ke port tersebut secara lokal sedangkan IP 0.0.0.0 mengacu pada port yang terbuka untuk semua.

Sebagai contoh

Lokal

127.0.0.1:8307 VMWARE
127.0.0.1:25   MASTER

Untuk semua

0.0.0.0:80    HTTP
0.0.0.0:443   SKYPE
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.