Lệnh traceroute trong Linux là một công cụ mạng được sử dụng để xác định đường đi của gói tin trên một mạng. Khi một gói tin được gửi từ một điểm đến một điểm khác trên mạng, nó phải đi qua nhiều máy chủ trung gian trước khi đến đích. Traceroute sẽ gửi các gói tin ICMP (Internet Control Message Protocol) và theo dõi thời gian phản hồi từ mỗi máy chủ trung gian trên đường đi của gói tin.
Khi chạy lệnh traceroute trên Linux, nó sẽ hiển thị một danh sách các máy chủ trung gian mà gói tin phải đi qua để đến đích. Mỗi dòng sẽ hiển thị thời gian phản hồi từ mỗi máy chủ và tên miền hoặc địa chỉ IP của máy chủ đó.
Cú pháp của lệnh traceroute trong Linux như sau:
traceroute [options] host
Trong đó:
host
là tên miền hoặc địa chỉ IP của đích cần truy vấn.options
là các tùy chọn đi kèm với lệnh traceroute.
Các tùy chọn phổ biến của lệnh traceroute trong Linux bao gồm -I
để sử dụng giao thức ICMP, -U
để sử dụng giao thức UDP và -p
để chỉ định số cổng sử dụng.
Các tham số của lệnh traceroute bao gồm:
- -4: sử dụng giao thức IPv4
- -6: sử dụng giao thức IPv6
- -I: sử dụng giao thức ICMP ECHO để kiểm tra đường truyền
- -T: sử dụng giao thức TCP SYN để kiểm tra đường truyền
- -U: sử dụng giao thức UDP để kiểm tra đường truyền
- -w: thiết lập thời gian chờ trả về bằng giây
- -m: thiết lập số lượng bước nhảy tối đa để đến đích
- -q: thiết lập số lượng yêu cầu kiểm tra đường truyền tối đa cho mỗi bước nhảy
- -p: thiết lập cổng đích khi sử dụng giao thức TCP hoặc UDP
- -n: không hiển thị địa chỉ IP tương ứng với tên miền
Ví dụ:
- Sử dụng ICMP ECHO với địa chỉ IP:
traceroute -I 192.168.1.1
- Sử dụng TCP SYN với cổng 80:
traceroute -T -p 80 www.google.com
- Sử dụng UDP với số lượng yêu cầu kiểm tra tối đa là 3 cho mỗi bước nhảy:
traceroute -U -q 3 www.facebook.com
$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 _gateway (192.168.12.5) 7.136 ms 7.084 ms 7.993 ms
2 localhost (27.71.251.149) 11.083 ms 16.602 ms 11.029 ms
3 10.255.39.243 (10.255.39.243) 16.618 ms 16.524 ms 16.497 ms
4 * * *
5 localhost (27.68.237.138) 16.463 ms localhost (27.68.237.140) 16.437 ms localhost (27.68.237.138) 16.411 ms
6 localhost (27.68.250.214) 16.386 ms localhost (27.68.250.212) 3.248 ms localhost (27.68.250.214) 3.315 ms
7 72.14.205.90 (72.14.205.90) 37.060 ms * 36.989 ms
8 * * dns.google (8.8.8.8) 36.910