Traceroute (hay còn gọi là Tracert) là một chương trình dòng lệnh có sẵn trong các hệ điều hành như Windows, Mac và Linux, giống như lệnh Ping, công cụ này dùng để kiểm tra lỗi và xác định đường đi của các gói tin từ máy tính gửi yêu cầu đến máy tính nhận yêu cầu trên mạng máy tính. Nếu bạn gặp lỗi khi truy cập đến một website nào đó, Traceroute có thể giúp bạn xác định lỗi xảy ra ở đâu và còn có thể giúp bạn thấy rõ hơn đường đi của những gói tin từ máy tính của bạn đến máy chủ chứa website.
Traceroute hoạt động như thế nào?
Khi bạn truy cập vào một website nào đó, các lưu lượng truy vấn sẽ phải đi qua nhiều trạm trung gian trước khi tới được website bạn yêu cầu, những lưu lượng này sẽ đi từ máy tính của bạn đến các router của nhà cung cấp dịch vụ (ISP) và được chuyển tiếp đến nhiều router trung gian khác trên mạng trước khi đến được website.
Traceroute hoạt động bằng cách gửi đi một chuỗi các gói tin bằng giao thức ICMP - Internetwork Control Message Protocol - tới máy chủ đích (website), các gói tin này chứa một giá trị Time To Live (TTL) hay còn gọi là Hop Limit, giá trị TTL của các gói tin được sắp xếp theo thứ tự tăng dần, gói tin thứ nhất chứa giá trị TTL là 1, gói tin thứ 2 là 2, gói thứ 3 là 3 ... Khi các gói tin đến được một router, giá trị của nó lại giảm đi 1, cho đến khi giá trị TTL của các gói tin bằng 0, router sẽ gửi một thông báo hết hạn cho máy tính của bạn. Bằng việc gửi đi các gói tin và xem phản hồi của các router, Traceroute xác định được một router nào đó có hoạt động hay không
Sử dụng Traceroute
Traceroute là một chương trình dòng lệnh do đó để sử dụng Traceroute bạn cần mở Command Prompt (đối với hệ điều hành Windows) hoặc Terminal (đối với những hệ điều hành khác) để bắt đầu sử dụng. Cú pháp của traceroute như sau:
tracert
Ví dụ bạn muốn traceroute tới website dantri.vn thì bạn gõ lệnh sau:
tracert dantri.vn
Lưu ý: đối với Windows thì bạn gõ tracert, còn những hệ điều hành khác như UNIX/Linux thì gõ là traceroute.
Với câu lệnh trên bạn có thể thấy toàn bộ được đường đi của các gói tin từ máy tính của bạn được chuyển tiếp qua nhiều router rồi mới đến website dantri.vn. Như hình trên thì có thể thấy rằng để đến được website Dân Trí thì cần phải thực hiện 11 lần chuyển tiếp, các lần chuyển tiếp này được gọi là hop, ngoài ra bạn có thể thấy có một vài router còn có tên miền (domain name) rõ ràng.
Đối với một số website đặt host ở xa thì số lần chuyển tiếp gói tin sẽ nhiều hơn vì phải đi qua nhiều router
Ngoài ra, nếu như bạn không muốn traceroute phân giải tên miền của router thì bạn có thể dùng tham số -d:
tracert -d cnn.com
Khi bạn sử dụng traceroute thì lệnh này sẽ trả về kết quả có định dạng như sau:
Hop RTT1 RTT2 RTT3 Ten_Mien [Dia_Chi_IP]
- Hop: khi một gói tin đi qua một router nào đó thì được gọi là Hop.
- RTT1, RTT2, RTT3: viết tắt của Round Trip Time, là khoảng thời gian mà gói tin đi tới router và phản hồi về cho máy tính của bạn (thời gian được tính bằng milisecond). Nếu như ngay cột RTT mà có dấu * thì có nghĩa là router đó không phản hồi lại gói tin mà bạn gửi.
- Ten_Mien [Dia_Chi_IP]: nếu như router đó có tên miền riêng thì tên miền này sẽ được hiện thị, thông qua tên miền của router, bạn có biết được vị trí của router ở trên mạng. Nếu router không có tên miền thì sẽ hiển thị địa chỉ IP của router.