Saya memiliki komputer dengan:
Linux superhost 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux
Ini menjalankan Apache pada port 80 pada semua antarmuka, dan itu tidak muncul di netstat -planA inet
, tetapi secara tak terduga dapat ditemukan di netstat -planA inet6
:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::5672 :::* LISTEN 2402/beam.smp
tcp6 0 0 :::111 :::* LISTEN 1825/rpcbind
tcp6 0 0 :::9200 :::* LISTEN 2235/java
tcp6 0 0 :::80 :::* LISTEN 2533/apache2
tcp6 0 0 :::34611 :::* LISTEN 1856/rpc.statd
tcp6 0 0 :::9300 :::* LISTEN 2235/java
...
tcp6 0 0 10.0.176.93:80 10.0.76.98:53704 TIME_WAIT -
tcp6 0 0 10.0.176.93:80 10.0.76.98:53700 TIME_WAIT -
Saya bisa mencapainya dengan TCP4, seperti yang terlihat di atas. Namun, bahkan koneksi ini terdaftar di bawah tcp6
. Mengapa?
netstat
? meninggal - satu dekade lalu . Gunakan iproute2 'sss
Jawaban:
Secara default jika Anda tidak menentukan alamat ke
Listen
parameter Apache , ini menangani alamat ipv6 menggunakanIPv4-mapped IPv6
alamat. Anda dapat melihatnya di Apache ipv6Output dari
netstat
bukan berarti Apache tidak mendengarkan pada alamat IPv4. ItuIPv4-mapped IPv6
alamat.sumber
tcp6
output netstat.Alasan untuk ini adalah karena semua alamat IPv4 juga alamat IPv6. Sejumlah kecil alamat IPv6 disisihkan untuk digunakan untuk pemetaan satu-ke-satu dari alamat IPv4. Misalnya, alamat IPv4
192.0.2.128
dapat diakses melalui alamat IPv6::ffff:192.0.2.128
. Ini dilakukan agar aplikasi apa pun yang mendukung IPv6 saja, masih bisa mendengarkan alamat IPv4. Perhatikan bahwa ini tidak dapat digunakan untuk alamat IPv6 (tidak dipetakan) untuk berbicara ke alamat IPv4 tanpa melibatkan hal-hal lain, karena IPv4 tidak akan tahu bagaimana menangani alamat IPv6 (Anda dapat menggunakan NAT, atau solusi lain meskipun).Karena semua alamat IPv4 diwakili dalam IPv6, saat meminta
netstat
daftar aplikasi menggunakan IPv6, Anda juga akan mendapatkan IPv4.Ini bisa mewakili
10.0.176.93
sebagai::ffff:10.0.176.93
, atau bahkan::ffff:a00:b05d
, tapi pengembang aplikasi memilih untuk menunjukkan sebagai bertitik-notasi alamat IPv4 biasa.sumber
-A inet