Perintah Unix traceroute
melacak alamat IP dari node dari node sumber ke node tujuan. Setiap node di antaranya memiliki antarmuka masuk dan keluar.
Menjalankan traceroute -n dst
pada src
akan menunjukkan alamat IP src, dst dan semua antarmuka yang masuk dari hop di antaranya.
Tapi bagaimana cara melacak alamat IP outging?
Memperbarui
Saya mencoba ping -R
saran tetapi sepertinya tidak berhasil. Ini adalah pelacak ke server web publik:
$ ping -n -c 1 -R 212.227.222.9 PING 212.227.222.9 (212.227.222.9) 56 (124) byte data. 64 byte dari 212.227.222.9: icmp_req = 1 ttl = 57 waktu = 47,4 ms RR: 192.168.2.111 169.254.1.1 87.186.224.94 62.154.76.34 62.154.12.175 212.227.117.13 212.227.117.8 10.71.3.253 212.227.222.9 --- 212.227.222.9 statistik ping --- 1 paket dikirimkan, 1 diterima, kehilangan paket 0%, waktu 0ms rtt min / avg / max / mdev = 47.441 / 47.441 / 47.441 / 0.000 ms
Dan ini adalah alamat IP dari koneksi dial-up saya.
$ curl -s https://toolbox.googleapps.com/apps/browserinfo/info/ | jq -r .remoteAddr 93.192.75.247
Tapi itu belum direkam oleh perintah ping. Apa yang bisa menjadi alasan?
ping
traceroute
ceving
sumber
sumber
curl ifconfig.me
. Hal paling sederhana di internet. Tangan ke bawah.Jawaban:
Saya tidak persis jawaban atas pertanyaan Anda, tetapi itu cara sederhana (tetapi terbatas) untuk melakukan (dalam kasus tertentu) apa yang Anda inginkan. Saya mengatasi-memposting opsi -R halaman ping manual:
Jadi, Anda juga dapat melihat jalur pengembalian ECHO_REQUEST, yang bukan antarmuka keluar (yang Anda tanyakan) kecuali jalur keluar sama dengan jalur kembali. Hanya dalam kasus ini, jalur kembali adalah alamat IP dari antarmuka keluar yang Anda minta.
Itu contoh nyata di internet penyedia internet saya, mungkin tidak begitu jelas, tapi saya tidak punya beberapa router untuk terhubung satu sama lain :)
sumber
-R
opsi. Hop keempat adalah yang pertama, yang menjawab permintaan itu. Tetapi jawabannya tidak mengandung alamat publik saya. Dan meskipun itu hanya hop keempat, jawabannya berisi 9 alamat.ping -R
akan berguna hanya untuk hop yang sangat terbatas. Saya katakan sebelumnya bahwa itu adalah cara yang terbatastraceroute 212.227.222.9
lalu lakukan aping -R
hingga hop ketiga yang Anda temukan di traceroute. Dengan cara itu Anda memiliki skema yang sama yang saya lakukan untuk membaca jawabannya. Sembilan rute total berarti pergi dan kembali, jadi jika Anda melakukannya,ping -R 212.227.222.9
Anda tidak dapat melihat jalur penuh, tetapi hanya bagian terakhirMenurut RFC1812 alamat sumber pesan ICMP yang dihasilkan oleh router harus dari antarmuka jalan keluar tempat paket biasanya akan kembali ke pengirim.
Pada kenyataannya, sangat mungkin bahwa Anda akan menghadapi perilaku tidak standar di mana router akan mencari balasan ICMP dengan sumber antarmuka masuknya. Ini biasanya membuat traceroute lebih mudah dibaca.
Sebagai tindak lanjut dari pertanyaan YLearn, saya memposting diagram jaringan dan beberapa output.
Mari kita asumsikan kita membuat traceroute dari loopback R5 5.5.5.5 ke loopback R1 1.1.1.1. Seperti yang Anda lihat, jalur maju adalah melalui R4-R2, sedangkan jalur sebaliknya adalah R3-R4.
Output traceroute dari R5 terlihat sebagai berikut:
Jadi sementara lalu lintas ICMP aktual yang dihasilkan oleh R1 akan kembali ke R5 melalui R3, header IP dari pesan ICMP Unreachable akan memiliki sumber antarmuka masuknya 10.1.12.1.
Dalam pengalaman saya ini bagaimana perilaku router Cisco dan Juniper, saya tidak yakin tentang vendor lain.
sumber