Minggu, 30 September 2012

Setting TCP/IP di windows melalui command prompt

Tidak seperti kebanyakan di mesin linux, pengguna windows sudah pasti lebih cenderung menggunakan fasilitas GUI dalam melakukan konfigurasi jaringan TCP/IP, sebetulnya di windows juga kita bisa melakukan konfigurasi menggunakan perintah seperti di linux yaitu melalui command prompt (CMD). hal penting dalam konfigurasi ini kita harus mengetahui nama dari koneksi yang akan kita konfigurasikan. anda bisa mengakses melalui Control panel, Network & internet connections, Network Connections, kemudian terlihat gambar-gambar icon networknya. atau melalui kotak dialog run kemudian ketikan "ncpa.cpl".

Sebagai contoh, kita anggap nama koneksinya adalah "Local Area Connection". memang secara default atau jika anda memiliki satu koneksi interface sudah pasti nama koneksinya adalah "Local Area Connection". Disini kita ingin melakukan konfigurasi sebagai berikut :

IP addres = 192.168.1.3
Subnet mask = 255.255.255.0
Default gateway = 192.168.1.1
DNS server = 202.134.0.61


Setting secara static atau manual

1. buka cmd
2. setting ip addres, netmask, dan gateway
netsh interface ip set address name="Local Area Connection" static 192.168.1.3 255.255.255.0 192.168.1.1 gwmetric=0
3. setting dns server
netsh interface ip set dns "Local Area Connection" static 202.134.0.61
4. finish


Setting secara DHCP (otomatis tcp/ip)

1. buka cmd
2. request untuk ip addres, netmask, dan gateway
netsh interface ip set address name="Local Area Connection" dhcp
3. request untuk DNS server
netsh interface ip set dns "Local Area Connection" dhcp
4. finish


Langkah konfigurasi telah selesai, enable kembali koneksi anda. jika konfigurasi ingin anda simpan, dan suatu saat nanti ingin anda gunakan kembali langkah - langkahnya sebagai berikut :

Menyimpan konfigurasi

1. buka cmd
2. ketikan perintah
netsh -c interface dump > c:\lokasi\namafile.txt

Memanggil konfigurasi

1. buka cmd
2. Ketikan perintah
netsh -f c:\lokasi\namafile.txt

Setting Mikrotik Wireless Bridge

Sering kali, kita ingin menggunakan Mikrotik Wireless untuk solusi point to point dengan mode jaringan bridge (bukan routing). Namun, Mikrotik RouterOS sendiri didesain bekerja dengan sangat baik pada mode routing. Kita perlu melakukan beberapa hal supaya link wireless kita bisa bekerja untuk mode bridge. Mode bridge memungkinkan network yang satu tergabung dengan network di sisi satunya secara transparan, tanpa perlu melalui routing, sehingga mesin yang ada di network yang satu bisa memiliki IP Address yang berada dalam 1 subnet yang sama dengan sisi lainnya.
Namun, jika jaringan wireless kita sudah cukup besar, mode bridge ini akan membuat traffic wireless meningkat, mengingat akan ada banyak traffic broadcast dari network yang satu ke network lainnya. Untuk jaringan yang sudah cukup besar, saya menyarankan penggunaan mode routing.
Berikut ini adalah diagram network yang akan kita set.
 

Konfigurasi Pada Access Point
1. Buatlah sebuah interface bridge yang baru, berilah nama bridge1
 
2. Masukkan ethernet ke dalam interface bridge

3. Masukkan IP Address pada interface bridge1
4. Selanjutnya adalah setting wireless interface. Kliklah pada menu Wireless (1), pilihlah tab interface (2) lalu double click pada nama interface wireless yang akan digunakan (3). Pilihlah mode AP-bridge (4), tentukanlah ssid (5), band 2.4GHz-B/G (6), dan frekuensi yang akan digunakan (7). Jangan lupa mengaktifkan default authenticated (8) dan default forward (9). Lalu aktifkankanlah interface wireless (10) dan klik OK (11).

5. Berikutnya adalah konfigurasi WDS pada wireless interface yang digunakan. Bukalah kembali konfigurasi wireless seperti langkah di atas, pilihlah tab WDS (1). Tentukanlah WDS Mode dynamic (2) dan pilihlah bridge interface untuk WDS ini (3). Lalu tekan tombol OK.
6. Langkah selanjutnya adalah menambahkan virtual interface WDS. Tambahkan interface WDS baru seperti pada gambar, lalu pilihlah interface wireless yang kita gunakan untuk WDS ini. Lalu tekan OK.
7. Jika WDS telah ditambahkan, maka akan tampak interface WDS baru seperti pada gambar di bawah.


Konfigurasi pada Wireless Station
Konfigurasi pada wireless station hampir sama dengan langkah-langkah di atas, kecuali pada langkah memasukkan IP Address dan konfigurasi wirelessnya. Pada konfigurasi station, mode yang digunakan adalah station-wds, frekuensi tidak perlu ditentukan, namun harus menentukan scan-list di mana frekuensi pada access point masuk dalam scan list ini. Misalnya pada access point kita menentukan frekuensi 2412, maka tuliskanlah scan-list 2400-2500.


Pengecekan link

Jika link wireless yang kita buat sudah bekerja dengan baik, maka pada menu wireless, akan muncul status R (lihat gambar di bawah).


Selain itu, mac-address dari wireless yang terkoneksi juga bisa dilihat pada jendela registration (lihat gambar di bawah).


Konfigurasi keamanan jaringan wireless
Pada Mikrotik, cara paling mudah untuk menjaga keamanan jaringan adalah dengan mendaftarkan mac-address wireless pasangan pada access list. Hal ini harus dilakukan pada sisi access point maupun pada sisi client. Jika penginputan access-list telah dilakukan, maka matikanlah fitur default authenticated pada wireless, maka wireless lain yang mac addressnya tidak terdaftar tidak akan bisa terkoneksi ke jaringan kita.
Jika kita menginginkan fitur keamanan yang lebih baik, kita juga bisa menggunakan enkripsi baik WEP maupun WPA.

Rabu, 26 September 2012

Traceroute (Tracert)

Pengertian Tracert
   Traceroute (Tracert) adalah perintah untuk menunjukan rute yang dilewati paket untuk mencapai tujuan. ini dilakukan dengan mengirim pesan Internet Control Message Protocol (ICMP). Echo request ke tujuan dengan nilai Time to Live semakin meningkat. Rute yang ditampilkan adalah daftar interface router (yang paling dekat dengan host) yang terdapat pada jalur antara host dan tujuan.www.wikipedia.org

Proses dan Fungsi Traceroute menggunakan Command Prompt (CMD)
   Untuk melakukan proses traceroute yang paling sederhana adalah menggunakan fungsi tracert pada CMD.
langkah – langkahnya yaitu sebagai berikut :

1. Pertama buka command prompt, run >> cmd >> enter.


2. Karena kita ingin mengetahui tracert domain yang menuju www.yahoo.com , maka ketik tracert www.yahoo.com >> enter.


3. Setelah itu akan muncul waktu yang diperlukan untuk mengirimkan data satuan ms (milisecond), dan ip router. Hasil tracert dapat menganalisa suatu jaringan komputer yang  anda gunakan.


   Karena windows mengirimkan 3 paket data, maka akan muncul waktu yang ditempuh oleh masing-,asing paket data. Maka hops akan terlihat berdasarkan urutan angka pada paket 1, 2, dan 3, artinya waktu yang ditempuh adalah 1 milisecond. Jika semakin kecil waktu yang dibutuhkan untuk suatu perpindahan data maka akan semakin baik.

Tentang IP Address, IPCONFIG, PING, dan TRACEROUTE

Selasa, Januari 20, 2009 by admin
IP Address

- Merupakan alamat komputer/host di jaringan agar “paket” dapat mencapai tujuan
- Pengalamatan harus unik
- IP Address disusun dari 32 bit bilangan biner
- IP address diapply ke Network Operation Center

IP address berdasarkan linkup internet/intranet dapat dikategorikan menjadi 2
1. IP Public : IP address yang digunakan untuk lingkup internet, host yang menggunakan IP public dapat diakses oleh seluruh user yang tergabung diinternet baik secara langsung maupun tidak langsung (melalui proxy/NAT).
2. IP Private : IP address yang digunkan untuk lingkup intranet, host yang menggunakan IP Private hanya bisa diakses di linkup intranet saja.

Contoh:













Dari akses Speedy modem mendapat alokasi IP Public 125.126.0.1

Kemudian untuk akses di LAN modem menggunakan IP Private 192.168.1.1

User-user didalam LAN dapat melakukan akses ke internet dengan mengaktifkan fungsi NAT (Network Address Translation) pada ADSL Router


IPCONFIG

Perintah ipconfig digunakan untuk mengetahui ip address dari komputer kita. Perintah ini support di Windows XP/2000. Dijalankan melalui command prompt DOS.

Contoh hasil perintah ipconfig sebagai berikut :

C:\>ipconfig

Windows IP Configuration

Ethernet adapter Bridge:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.101
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.254

C:\>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : ss-cpe-maintenance
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : Yes
WINS Proxy Enabled. . . . . . . . : Yes

Ethernet adapter Bridge:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek RTL8139 Family PCI Fast Ethernet
NIC
Physical Address. . . . . . . . . : 00-A0-B0-0D-13-27
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.1.101
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.254
DHCP Server . . . . . . . . . . . : 192.168.1.254
DNS Servers . . . . . . . . . . . : 203.130.206.250
202.134.0.155
Lease Obtained. . . . . . . . . . : Wednesday, December 14, 2005 3:13:32 AM
Lease Expires . . . . . . . . . . : Thursday, December 15, 2005 3:13:32 AM

C:\>


PING

ping merupakan perintah untuk mengetest koneksi dari komputer kita ke lokasi yang diinginkan. Perintah ini juga digunakan untuk mengetahui response time.

dari tampilan di atas, terlihat response time koneksi ke www.yahoo.com rata-rata sebesar 458ms


TRACEROUTE

traceroute merupakan perintah untuk menlihat jalur akses ke lokasi yang kita tuju. Di beberapa operating system perintah traceroute berbeda-beda. Untuk Windows XP/2000 digunakan perintah tracert

Melihat TraceRoute Windows XP di Wireshark

Agustus 16, 2009 pada 11:34 pm | Ditulis dalam Wireshark Experience | 23 Komentar
Kaitkata: , , , , , , ,
 
 
 
 
 
 
1 Votes

Apakah ada yang belum mengetahui fungsi traceroute ? Saya rasa semua pasti sudah tahu, karena traceroute adalah program sederhana untuk melihat hop-hop dari computer kita ke suatu IP address di Internet. Di bawah ini adalah hasil copy paste dari traceroute notebook saya ke www.yahoo.com.
C:\>tracert www.yahoo.com


Tracing route to www.yahoo.com [209.131.36.158]

over a maximum of 30 hops:


1 1 ms 2 ms 2 ms AlliedTelesyn.ATI [192.168.1.1]

2 39 ms 36 ms 36 ms 1.subnet125-161-216.speedy.telkom.net.id [125.16

1.216.1]

3 * * * Request timed out.

4 40 ms 40 ms 41 ms 61.5.116.25

5 37 ms 35 ms 36 ms 61.5.119.110

6 255 ms 258 ms 255 ms tm.net.my [58.26.87.53]

7 349 ms 470 ms 350 ms 58.27.103.33

8 475 ms 353 ms 363 ms 203.106.6.162

9 353 ms 352 ms 355 ms 219.94.9.178

10 353 ms 343 ms 345 ms 58.27.101.158

11 343 ms 341 ms 357 ms ae1-p171.msr2.sp1.yahoo.com [216.115.107.87]

12 347 ms 353 ms 355 ms ae0-p171.msr2.sp1.yahoo.com [216.115.107.83]

13 353 ms 351 ms 359 ms www.yahoo.com [209.131.36.158]


Trace complete.


Untuk lebih memperdalam mengenal paket pada jaringan, saya mencoba menangkap paket traceroute ini dengan wireshark. Setelah itu, saya bandingkan hasil yang ada di wireshark dengan copy paste text output di atas. Cukup menarik, dari sini saya bisa belajar mengenal traceroute yang ada pada Windows.

Beberapa paket di awal capture, berisikan DNS query dari notebook saya ke DNS Server saya, tentu saja untuk menanyakan terlebih dahulu, berapa IP address dari www.yahoo.com. Setelah mendapatkan IP address yang diinginkan barulah Windows XP melakukan proses traceroute.
Traceroute pada Windows XP menggunakan paket berjenis ICMP, sedangkan traceroute pada system unix based ( atau device-device embedded linux ) semuanya menggunakan paket UDP. Oleh sebab itu, jangan heran apabila hasil capture Anda berbeda pada saat menggunakan non Windows Operating System.

Traceroute dimulai dengan paket ICMP yang dikirimkan sebanyak 3 kali oleh Windows, terlihat di atas pada paket nomor 5,7 dan 9, ketiga-tiganya berisikan ICMP Echo request dengan Time to Live = 1. Paket ke-5 dijawab oleh paket ke-6, dengan IP penjawab adalah 192.168.1.1. Kalau kita perhatikan di kolom ke-2 paket ke-6, terdapat tulisan angka 0.001732, yang berarti adalah 1 millisecond. Demikian juga dengan kolom ke-2 paket ke 8 dan 10 terdapat angka 0.002044 dan 0.002316, yang oleh Windows diartikan sebagai 1 millisecond. Itulah sebabnya pada baris pertama hasil output traceroute terdapat tulisan :
1 1 ms 2 ms 2 ms AlliedTelesyn.ATI [192.168.1.1]


Selanjutnya….. adalah paket traceroute nomor 11,13,15. Ketiga-tiganya juga merupakan paket ICMP Echo request, hanya saja kali ini berbeda dari segi Time-To-Live = 2, dengan tujuan agar paket ICMP ini dapat dilewati sampai dengan 2 hop.

Paket nomor 11 dijawab oleh paket nomor 12, dan paket 13 dijawab oleh paket nomor 14, dst. Tapi, kali ini kalau kita perhatikan, IP dari penjawabnya sudah bukan lagi 192.168.1.1, melainkan adalah 125.161.216.1. Dengan demikian, kita mengetahui bahwa di depan 192.168.1.1, ada router 125.161.216.1. Tidak hanya itu, kalau kita lihat kolom ke-2 dari paket 12,14 dan 16, memiliki angka 0.039617, 0.036466 dan 0.036287, yang diterjemahkan oleh Windows menjadi 39 ms, 36 ms dan 36 ms :
2 39 ms 36 ms 36 ms 1.subnet125-161-216.speedy.telkom.net.id [125.16

1.216.1]


Yang cukup menarik adalah traceroute baris selanjutnya, yaitu
3 * * * Request timed out.


Mengapa terjadi request time out ? Ternyata apabila kita memeriksa paketnya, memang Windows sudah mengirimkan ICMP dengan Time To Live = 3, namun tidak ada router manapun yang menjawabnya, seperti terlihat pada paket nomor 17,21 dan 22 :

Mengapa terjadi demikian ? Kemungkinan besar yang sering saya jumpai di lapangan, kejadian di atas terjadi karena router tersebut menggunakan IP private seperti 192.168.x.x atau 10.x.x.x, dan ip tersebut tidak di route untuk internet. Hal ini merupakan trik pada service provider untuk menghemat penggunaan IP Public.
Perjalanan traceroute terus berlanjut, dengan menaikkan Time-To-Live sampai benar-benar mencapai titik terakhir, yaitu host yang dimaksud, dalam contoh ini adalah




fungsi tracert

Jadi bagaimana tracert digunakan oleh para hacker. Perintah ini digunakan untuk mencari firewall dan melumpuhkannya. Tracer digunakan bersamaan dengan nmap dapat mengetahui ip sebenarnya dimana firewall terpasang, kemudian hacker tersebut akan melumpuhkannya. Untuk contoh diatas kita melihat bahwa proses tracing terhenti pada w8.scd.yahoo.com. Namun hal ini bukanlah tujuan sebenarnya. Hal itu dikarenakan dihentikan oleh firewall. Mengenai masalah firewall akan kita bahas dalam artikel tersendiri.

Keamanan Sistem Informasi – Pengertian, Proses & Fungsi Traceroute Serta Implementasinya dalam Delphi

 
 
 
 
 
 
3 Votes

Bahasan Keamanan Sistem informasi kali ini adalah Pengertian, Proses & Fungsi Traceroute Serta Implementasinya dalam Delphi.

Pengertian Traceroute

Traceroute (Tracert) adalah perintah untuk menunjukkan rute yang dilewati paket untuk mencapai tujuan. Ini dilakukan dengan mengirim pesan Internet Control Message Protocol (ICMP) Echo Request Ke tujuan dengan nilai Time to Live yang semakin meningkat. Rute yang ditampilkan adalah daftar interface router (yang paling dekat dengan host) yang terdapat pada jalur antara host dan tujuan.

Proses Traceroute

Proses Traceroute
Proses Traceroute
Untuk mengetahui jalur yang ditempuh untuk mencapai suatu node, traceroute mengirimkan 3 buah paket probe tipe UDP dari port sumber berbeda, dengan TTL bernilai 1. Saat paket tersebut mencapai router next-hop, TTL paket akan dikurangi satu sehingga menjadi 0, dan router next-hop akan menolak paket UDP tersebut sembari mengirimkan paket ICMP Time-to-Live Exceeded ke node asal traceroute tersebut. Dengan cara ini, pengirim traceroute tahu alamat IP pertama dari jalur yang ditempuh.

Kemudian, sumber traceroute mengirimkan 3 buah paket UDP lagi dengan nilai TTL yang dinaikkan 1 (TTL = 2), sehingga router pertama di jalur menuju tujuan traceroute akan melewatkan paket UDP tersebut ke router selanjutnya. Router hop kedua akan melihat bahwa paket tersebut sudah expired (TTLnya jadi 1, setelah dikurangi oleh router pertama). Maka, seperti halnya router pertama, router tersebut akan mengirimkan paket ICMP Time-to-Live Exceeded ke sumber traceroute. Sekarang, sumber traceroute telah mengetahui hop kedua dari jalur menuju tujuan traceroute.
Sumber traceroute akan mengirimkan lagi paket UDP dengan TTL ditambah 1 (TTL = 3). Router hop ketiga akan membalas dengan paket ICMP Time-to-Live Exceeded ke sumber traceroute, sehingga sumber traceroute mengetahui alamat IP router hop ketiga. Proses ini akan diulang terus paket UDP yang dikirimkan mencapai alamat IP tujuan traceroute. Tiga buah paket UDP traceroute adalah jumlah paket default dari aplikasi traceroute. Inilah mengapa kita melihat tiga buah tampilan latensi saat melihat hasil traceroute yang dijalankan.
Tidak semua aplikasi traceroute menggunakan UDP. Windows menggunakan paket ICMP, sedangkan sejumlah aplikasi tertentu menggunakan paket TCP.
Cara menghitung latensi tiap hop adalah dengan mengukur selisih antara timestamp paket probe yang dikirimkan dengan timestamp dari paket ICMP TTL exceeded yang diterima. Router yang berada sepanjang jalur pengiriman tidak akan melakukan pemrosesan data timestamp. Dari cara ini, yang kita ketahui hanyalah waktu total pulang-pergi dari sumber ke router hop tertentu. Delay yang terjadi sepanjang perjalanan kembali ke sumber juga akan berpengaruh.
Kemudian, alamat IP dari interface manakah yang kita lihat dari hasil traceroute?
traceroute ingress
traceroute ingress
Alamat IP yang kita lihat dari hasil traceroute adalah IP dari interface ingress router. Sebenarnya, RFC 1812 menyebutkan bahwa sumber ICMP haruslah dari interface egress. Namun, hal ini akan menyebabkan hasil traceroute menjadi kacau.

Traceroute pada Windows

Cara Melakukan Traceroute :
  1. Klik Start –> Run
  2. Setelah muncul pop up lalu anda tinggal ketikkan –> CMD
  3. Lalu munculah gambar seperti di bawah ini , kemudian anda  tinggal ketikkan –> tracert (spasi) namadomainanda

Interpretasi DNS dari Hasil Traceroute

Dengan traceroute, kita dapat menganalisis informasi mengenai lokasi router, tipe dan kapasitas interface, tipe dan fungsi router, serta batas-batas network yang dilalui, berdasarkan DNS interface yang dilalui. IUntuk lebih memperjelas, berikut ini adalah contoh hasil traceroute kewww.berkeley.edu:
$ traceroute www.berkeley.edu
traceroute to amber.Berkeley.EDU (128.32.25.12), 30 hops max, 40 byte packets
1 203.130.216.2 (203.130.216.2) 137 ms 151 ms 151 ms
2 203.130.216.1 (203.130.216.1) 151 ms 137 ms 138 ms
3 192.168.8.49 (192.168.8.49) 137 ms 151 ms 151 ms
4 S12-0-11.kbl.surabaya.telkom.net.id (202.134.3.45) 192 ms 151 ms 151 ms
5 FE0-0-gw3.cibinong.telkom.net.id (202.134.3.134) 165 ms 151 ms 151 ms
6 hssi-gw3.hk.telkom.net.id (202.134.3.1) 659 ms 659 ms 645 ms
7 202.130.129.61 (202.130.129.61) 645 ms 687 ms 659 ms
8 321.ATM5-0-0.XR1.HKG2.ALTER.NET (210.80.3.1) 645 ms 659 ms 645 ms
9 POS1-0-0.TR1.HKG2.Alter.Net (210.80.48.21) 672 ms 646 ms 645 ms
10 384.ATM4-0.IR1.LAX12.Alter.Net (210.80.50.189) 838 ms 796 ms 796 ms
11 137.39.31.222 (137.39.31.222) 810 ms 852 ms 810 ms
12 122.at-5-1-0.TR1.LAX9.ALTER.NET (152.63.10.237) 824 ms 810 ms 810 ms
13 297.at-1-0-0.XR1.LAX9.ALTER.NET (152.63.112.237) 824 ms 838 ms 824 ms
14 191.ATM6-0.BR1.LAX9.ALTER.NET (152.63.113.9) 837 ms 797 ms 810 ms
15 acr1-loopback.Anaheim.cw.net (208.172.34.61) 810 ms 1071 ms 782 ms
16 acr1-loopback.SanFranciscosfd.cw.net (206.24.210.61) 783 ms 810 ms 769 ms
17 BERK-7507--BERK.POS.calren2.net (198.32.249.69) 810 ms 1126 ms 796 ms
18 pos1-0.inr-000-eva.Berkeley.EDU (128.32.0.89) 796 ms 824 ms 796 ms
19 pos5-0-0.inr-001-eva.Berkeley.EDU (128.32.0.66) 796 ms 783 ms 783 ms
20 fast1-0-0.inr-007-eva.Berkeley.EDU (128.32.0.7) 810 ms 810 ms 797 ms
21 f8-0.inr-100-eva.Berkeley.EDU (128.32.235.100) 797 ms 782 ms 769 ms
22 amber.Berkeley.EDU (128.32.25.12) 796 ms 769 ms 810 msTraceroute akan menampilkan titik-titik perantara yang menjembatani anda dan titik tujuan anda, ‘jembatan’ inilah yang biasa disebut dengan router, data yang andakirimkan akan meloncat melewati jembatan-jembatan ini. Ada tiga buah waktu yang menunjukkan berapa waktu yang dibutuhkan oleh paket tersebut untuk berjalan dari komputer anda ke router.Untuk dapat memahami seluruh data yang dihasilkan oleh traceroute tersebut, kita harus memahami bagaimana cara traceroute bekerja.
Berikut ini adalah contoh yang lebih kompleks dengan melakukan traceroute ke finland:
% traceroute www.hut.fi
traceroute to info-e.hut.fi (130.233.224.28), 30 hops max, 40-byte packets
1 203.130.216.2 (203.130.216.2) 137 ms 124 ms 137 ms
2 203.130.216.1 (203.130.216.1) 137 ms 124 ms 124 ms
3 192.168.8.49 (192.168.8.49) 137 ms 151 ms 151 ms
4 S12-0-11.kbl.surabaya.telkom.net.id (202.134.3.45) 192 ms 151 ms 151 ms
5 FE0-0-gw3.cibinong.telkom.net.id (202.134.3.134) 164 ms 165 ms 151 ms
6 hssi-gw3.hk.telkom.net.id (202.134.3.1) 673 ms 645 ms 645 ms
7 202.130.129.61 (202.130.129.61) 659 ms 646 ms 659 ms
8 321.ATM5-0-0.XR1.HKG2.ALTER.NET (210.80.3.1) 659 ms 645 ms 659 ms
9 POS1-0-0.TR1.HKG2.Alter.Net (210.80.48.21) 659 ms 632 ms 659 ms
10 284.ATM6-0.IR1.SAC2.Alter.Net (210.80.50.1) 797 ms 823 ms 797 ms
11 POS2-0.IR1.SAC1.ALTER.NET (137.39.31.190) 796 ms 1566 ms 810 ms
12 122.at-6-1-0.TR1.LAX9.ALTER.NET (152.63.10.218) 838 ms 823 ms 824 ms
13 297.at-2-0-0.XR1.SAC1.ALTER.NET (152.63.50.133) 933 ms 824 ms 838 ms
14 185.ATM5-0.BR4.SAC1.ALTER.NET (152.63.52.201) 810 ms 824 ms 851 ms
15 137.39.52.86 (137.39.52.86) 810 ms 1071 ms 810 ms
16 sl-bb21-ana-15-0.sprintlink.net (144.232.1.173) 769 ms (ttl=246!) 796 ms (ttl=246!) 783 ms (ttl=246!)
17 sl-bb20-pen-8-0.sprintlink.net (144.232.18.45) 893 ms 851 ms (ttl=245!) 893 ms
18 sl-bb22-pen-11-0.sprintlink.net (144.232.18.78) 893 ms (ttl=244!) 879 ms (ttl=244!) 879 ms (ttl=244!)
19 sl-bb10-nyc-9-0.sprintlink.net (144.232.7.1) 865 ms 879 ms 879 ms
20 sl-bb10-nyc-10-0.sprintlink.net (144.232.13.158) 879 ms 892 ms 893 ms
21 gblon505-tc-p6-3.ebone.net (195.158.229.46) 865 ms 879 ms 920 ms
22 bebru204-tc-p5-0.ebone.net (195.158.232.42) 961 ms 948 ms 934 ms
23 nlams303-tc-p1-0.ebone.net (195.158.225.86) 962 ms 961 ms 934 ms
24 dedus205-tc-p8-0.ebone.net (213.174.70.133) 934 ms 961 ms 947 ms
25 dkcop204-tb-p3-0.ebone.net (213.174.71.50) 975 ms 975 ms *
26 * * *
27 ne-gw.nordu.net (195.158.226.86) 1002 ms 962 ms 1016 ms
28 hutnet-gw.csc.fi (128.214.248.65) 1027 ms (ttl=238!) 1040 ms (ttl=238!) 1026 ms (ttl=238!)
29 hutnet-gw.hut.fi (193.166.43.253) 1020 ms 1037 ms 1023 ms
30 info-e.hut.fi (130.233.224.28) 1091 ms (ttl=46!) 1027 ms (ttl=46!) 1067 ms (ttl=46!) 

Baris pertama hanya menunjukkan apa yang akan dilakukan oleh traceroute yaitu melakukan
trace ke host yang bernama info-e.hut.fi dengan maksimum loncatan 30 dan besar paket
yang dikirimkan adalah 40 byte.
Hasilnya, paket tersebut melewati 30 router atau 30 kali loncatan. Loncatan yang pertama sampai kelima hanya memakan waktu sekitar 100-200 mili detik adalah loncatan dari komputer penulis ke jaringan milik Telkomnet di Indonesia. Pada loncatan ke enam, waktu yang diperlukan meningkat banyak sekali menjadi sekitar 650 mili detik, ini dikarenakan loncatan tersebut memang jauh, yaitu dari stasiun bumi Telkomnet yang ada di Cibinong ke gateway milik Telkomnet yang ada di Hongkong. Kadang waktu yang diperlukan meningkat banyak sekali karena jarak yang jauh atau jaringan yang dilewati memang sedang padat. Anda harus mencurigai titik-titik dimana waktu yang diperlukan menjadi besar sekali. Jika hal ini terjadi, anda dapat mengeceknya dengan melakukan ping ke router tersebut beberapa kali untuk melihat apakah paket yang kita kirimkan di drop, atau apakah ada variasi waktu yang besar. Kemudian pada loncatan ke 16 sampai 18 anda melihat (ttl=246!) di sebelah kolom waktu. Ini adalah indikasi dari trceroute bahwa TTL yang kembali tidak sesuai dengan sewaktu dikirimkan ini menunjukkan adanya asymmetric path, yaitu router yang dilewati paketsewaktu berangkat tidak sesuai dengan router yang dilewati sewaktu paket tersebutkembali. Tetapi hal itu adalah normal.
Tanda asterik pada loncatan ke 25 dan 26 menandakan bahwa traceroute tidak menerima  respon dari komputer tersebut, pada loncatan ke 26 kemungkinan dikarenakan router  tersebut tidak mengirimkan paket ICMP, sedangkan pada loncatan ke 25 kemungkinan adalah hasil dari paket ICMP yang dikirimkan oleh router tersebut hilang di perjalanan karena suatu sebab.
Dikombinasikan dengan ping, traceroute menjadi alat analisa jaringan yang baik dengan  melihat loncatan mana yang memakan waktu yang besar atau paket yang di drop, kita dapat menentukan dimana titik kritisnya. Kemudian dengan melakukan ping pada titik tersebut dan satu titik sebelumnya, kita dapat menemukan masalah yang ada dalam jaringan.

Impelementasi Traceroute menggunakan Delphi

Desain Form
Form Traceroute
Form Traceroute
001unit fmTraceRouteMainU;
002 
003interface
004 
005uses
006  {$IFDEF Linux}
007  QGraphics, QControls, QForms, QDialogs, QStdCtrls, QComCtrls, QExtCtrls,
008  QActnList,
009  {$ELSE}
010  Windows, Messages, Graphics, Controls, Forms, Dialogs, ComCtrls, ActnList,
011  StdCtrls, Spin, ExtCtrls,
012  {$ENDIF}
013  SysUtils, Classes, IdBaseComponent, IdComponent, IdRawBase, IdRawClient, IdIcmpClient,
014  IdAntiFreezeBase, IdAntiFreeze;
015 
016type
017  TfmTracertMain = class(TForm)
018    Panel1: TPanel;
019    Panel2: TPanel;
020    Panel3: TPanel;
021    Panel4: TPanel;
022    lbLog: TListBox;
023    Label1: TLabel;
024    Label2: TLabel;
025    ActionList1: TActionList;
026    edTarget: TEdit;
027    seMaxHops: TSpinEdit;
028    Button1: TButton;
029    acGo: TAction;
030    acResolve: TAction;
031    acPing: TAction;
032    acTrace: TAction;
033    lvTrace: TListView;
034    IdIcmpClient: TIdIcmpClient;
035    IdAntiFreeze1: TIdAntiFreeze;
036    Splitter1: TSplitter;
037    Button2: TButton;
038    acStop: TAction;
039    procedure edTargetChange(Sender: TObject);
040    procedure acResolveExecute(Sender: TObject);
041    procedure acGoExecute(Sender: TObject);
042    procedure acPingExecute(Sender: TObject);
043    procedure acTraceExecute(Sender: TObject);
044    procedure lvTraceCompare(Sender: TObject; Item1, Item2: TListItem;
045      Data: Integer; var Compare: Integer);
046    procedure acStopExecute(Sender: TObject);
047  private
048    { Private declarations }
049    bResolved: Boolean;
050    ResolvedHost: String;
051    Stopped: Boolean;
052    function PingHost(Host: string; TTL: Integer): boolean;
053    function FindItem(TTL: Integer; Add: boolean): TListItem;
054  public
055    { Public declarations }
056  end;
057 
058var
059  fmTracertMain: TfmTracertMain;
060 
061implementation
062 
063uses idStack, IdException;
064{$IFDEF Linux}{$R *.xfm}{$ELSE}{$R *.DFM}{$ENDIF}
065 
066procedure TfmTracertMain.edTargetChange(Sender: TObject);
067begin
068  bResolved := false;
069end;
070 
071procedure TfmTracertMain.acResolveExecute(Sender: TObject);
072begin
073  bResolved := false;
074  lbLog.Items.Append(Format('resolving %s',[edTarget.text]));
075  try
076    Application.ProcessMessages;
077    ResolvedHost := gStack.WSGetHostByName(edTarget.text);
078    bResolved := true;
079    lbLog.Items.Append(format('%s resolved to %s',[edTarget.text, ResolvedHost]));
080  except
081    on e: EIdSocketError do
082      lbLog.Items.text  := lbLog.Items.text + e.message;
083  end;
084end;
085 
086procedure TfmTracertMain.acGoExecute(Sender: TObject);
087var
088  saveCursor: TCursor;
089begin
090  saveCursor := Screen.Cursor;
091  Screen.Cursor := crHourGlass;
092  try
093      Stopped := false;
094      acGo.Enabled := false;
095      acStop.enabled := true;
096      acResolve.execute;
097      if bResolved and not stopped then
098      begin
099        acPing.execute;
100        if not stopped then
101          acTrace.Execute;
102      end;
103      acGo.Enabled := true;
104      acStop.enabled := false;
105  finally
106    Screen.Cursor := saveCursor;
107  end{ try/finally }
108end;
109 
110function TfmTracertMain.PingHost(Host: string; TTL: Integer): Boolean;
111begin
112  result := false;
113  IdIcmpClient.Host := Host;
114  IdIcmpClient.TTL := TTL;
115  IdIcmpClient.ReceiveTimeout := 5000;
116  IdIcmpClient.Ping;
117  case IdIcmpClient.ReplyStatus.ReplyStatusType of
118    rsEcho:
119    begin
120      lbLog.Items.Append(format('response from host %s in %d millisec.',
121                                [
122                                IdIcmpClient.ReplyStatus.FromIpAddress,
123                                IdIcmpClient.ReplyStatus.MsRoundTripTime
124                                ]));
125      result := true;
126    end;
127    rsError:
128      lbLog.Items.Append('Unknown error.');
129    rsTimeOut:
130      lbLog.Items.Append('Timed out.');
131    rsErrorUnreachable:
132      lbLog.Items.Append(format('Host %s reports destination network unreachable.',
133                                [
134                                IdIcmpClient.ReplyStatus.FromIpAddress
135                                ]));
136    rsErrorTTLExceeded:
137      lbLog.Items.Append(format('Hope %d %s: TTL expired.',
138                                [
139                                IdIcmpClient.TTL,
140                                IdIcmpClient.ReplyStatus.FromIpAddress
141                                ]));
142  end; // case
143end;
144 
145procedure TfmTracertMain.acPingExecute(Sender: TObject);
146begin
147  PingHost(ResolvedHost, seMaxHops.value);
148  Application.ProcessMessages;
149end;
150 
151function TfmTracertMain.FindItem(TTL: Integer; Add: boolean): TListItem;
152var
153  i: Integer;
154begin
155  result := nil;
156  // Find the TTL item
157  if lvTrace.Items.Count < TTL Then
158  begin
159    for i := 0 to lvTrace.Items.Count - 1 do
160    begin
161      if StrToIntDef(lvTrace.Items[i].Caption, -1) = TTL then
162      begin
163        result := lvTrace.Items[i];
164        Break;
165      end;
166    end;
167  end;
168  if not assigned( result ) then
169  begin
170    // Not found, add it
171    result := lvTrace.Items.Add;
172    result.Caption := IntToStr(TTL);
173  end;
174end;
175 
176procedure TfmTracertMain.acTraceExecute(Sender: TObject);
177var
178  TTL: Integer;
179  Reached: boolean;
180  aItem: TListItem;
181begin
182  TTL := 0;
183  reached := false;
184  lvTrace.Items.Clear;
185  repeat
186    inc(TTL);
187    IdIcmpClient.Host := ResolvedHost;
188    IdIcmpClient.TTL := TTL;
189    IdIcmpClient.ReceiveTimeout := 5000;
190    IdIcmpClient.Ping;
191    aItem := FindItem(TTL, True);
192    aItem.SubItems.Clear;
193    case IdIcmpClient.ReplyStatus.ReplyStatusType of
194      rsEcho:
195      begin
196        aItem.SubItems.Append(IdIcmpClient.ReplyStatus.FromIpAddress);
197        aItem.SubItems.Append(format('Reached in : %d ms', [IdIcmpClient.ReplyStatus.MsRoundTripTime]));
198        reached := true;
199      end;
200      rsError:
201      begin
202        aItem.SubItems.Append(IdIcmpClient.ReplyStatus.FromIpAddress);
203        aItem.SubItems.Append('Unknown error.');
204      end;
205      rsTimeOut:
206      begin
207        aItem.SubItems.Append('?.?.?.?');
208        aItem.SubItems.Append('Timed out.');
209      end;
210      rsErrorUnreachable:
211      begin
212        aItem.SubItems.Append(IdIcmpClient.ReplyStatus.FromIpAddress);
213        aItem.SubItems.Append(format('Destination network unreachable', [IdIcmpClient.ReplyStatus.MsRoundTripTime]));
214        break;
215      end;
216      rsErrorTTLExceeded:
217      begin
218        aItem.SubItems.Append(IdIcmpClient.ReplyStatus.FromIpAddress);
219        aItem.SubItems.Append(format('TTL=%d', [IdIcmpClient.ReplyStatus.TimeToLive]));
220      end;
221    end; // case
222    Application.ProcessMessages;
223  until reached or (TTL > seMaxHops.value) or Stopped;
224end;
225 
226procedure TfmTracertMain.lvTraceCompare(Sender: TObject; Item1,
227  Item2: TListItem; Data: Integer; var Compare: Integer);
228begin
229  Compare := StrToIntDef(Item1.Caption, -1) - StrToIntDef(Item2.Caption, -1);
230end;
231 
232procedure TfmTracertMain.acStopExecute(Sender: TObject);
233begin
234  Stopped := true;
235  acStop.enabled := false;
236end;
237 
238end.