Sự khác biệt đáng kể giữa tracepath và traceroute là gì?


58

Gần đây tôi đã đọc một chút về một bài viết trên HowToGeek khiến tôi phải gãi đầu một chút. Tôi đã có khá ít kinh nghiệm với Linux, vì vậy hãy tha thứ cho tôi nếu đây là cấp độ đầu vào:

"Lệnh tracepath tương tự như traceroute, nhưng nó không yêu cầu quyền root."

http://www.howtogeek.com/108511/how-to-work-with-the-network-from-the-linux-terminal-11-commands-you-need-to-ledge/

Làm thế nào để traceroute và tracepath thực hiện một chức năng tương tự, khác nhau?

Traceroute làm gì, đòi hỏi quyền root, tracepath không?

Có kịch bản nào mà người ta nên thích tracepath hơn traceroute, hoặc ngược lại không?

Câu trả lời:


57

Làm thế nào để traceroute và tracepath thực hiện một chức năng tương tự, khác nhau?

Cả hai chương trình về cơ bản đều làm một việc: gửi và nhận các gói IP nhất định.

Bạn có thể sử dụng API ổ cắm bình thường để thực hiện việc này hoặc bạn có thể thao tác các gói thô từ giao diện. API socket không yêu cầu quyền root, vì nó khá an toàn. Có các cơ chế dựng sẵn để ngăn một chương trình truy cập các gói IP mà chương trình khác thực hiện.

Tracepath sử dụng API socket cho tất cả chức năng của nó. Traceroute thao tác các gói thô cho một số chức năng của nó.

Traceroute làm gì, đòi hỏi quyền root, tracepath không?

Nó thao túng các gói thô.

Để thao tác các gói thô, bạn cần có quyền root vì bằng cách này, bạn bỏ qua các cơ chế bảo mật của API socket. Bạn có quyền truy cập vào thông tin liên lạc của tất cả các quy trình và người dùng khác bằng giao diện đó. Chỉ cần nghĩ về những gì một virus có thể làm nếu anh ta có thể thao túng các gói thô.

Có kịch bản nào mà người ta nên thích tracepath hơn traceroute, hoặc ngược lại không?

Một lệnh nâng cao có sẵn trong Traceroute là khả năng chạy theo dõi mạng bằng giao thức IPv4 hoặc IPv6. Cũng có thể chọn giữa các định dạng dữ liệu ICMP, TCP hoặc UDP cho một đầu dò. Traceroute có thể chọn định tuyến nguồn cụ thể cho đầu dò và chọn cổng nào để gửi. Nó có thể đặt giới hạn trên mức tối thiểu và tối đa để chấp nhận từ đầu dò ra ngoài. Ngoài ra, Traceroute có thể hiển thị thời gian chờ cho ping phản hồi cũng như đặt số lượng gói được gửi trong mỗi đầu dò và số lượng đầu dò cần gửi. Một số lệnh này có thể không được phần cứng mạng hỗ trợ dọc theo đường dẫn, có thể chấm dứt đầu dò trước khi đến đích đích.

nguồn: 1 2 3


1
Cuối cùng, một câu trả lời với mối quan tâm bảo mật hợp pháp ảnh hưởng đến hệ thống địa phương. Cảm ơn!
Iszi

10

Bạn có thể sử dụng tracerouteđể theo dõi mạng nâng cao, bạn có thể chọn giữa các giao thức IPv4 và Ipv6, bạn cũng có thể chọn giữa các định dạng dữ liệu ICMP, TCP hoặc UDP cho một đầu dò.

Vì vậy, traceroutecó nhiều tùy chọn nâng cao hơn tracepathsử dụng các gói UDP để truy tìm.

Bây giờ về đặc quyền siêu người dùng :

bạn có thể sử dụng traceroutevới cả người dùng bình thường và siêu người dùng phụ thuộc vào tùy chọn bạn muốn sử dụng, đây là một ví dụ:

nhập mô tả hình ảnh ở đây

Ở đây chúng tôi đang sử dụng các gói UDP không cần đặc quyền siêu người dùng

nhập mô tả hình ảnh ở đây

Ở đây chúng tôi đang sử dụng các gói echo ICMP cần đặc quyền.

Bằng các gói ICMP, bạn có thể thực hiện tấn công DDOS.

Để tìm hiểu về các tùy chọn ICMP Traceroute Man Page

Để xem traceroutecác tùy chọn gõ trong thiết bị đầu cuốiman traceroute

ICMP cần đặc quyền siêu người dùng, để đảm bảo chỉ quản trị viên có thể sử dụng một số tùy chọn của nó, bởi vì nó có thể được sử dụng để tạo ping tử thần và thu thập thông tin về một mạng cụ thể, đặc quyền ở đây sẽ cung cấp cho siêu người dùng khả năng thay đổi tùy chọn bằng ICMP gói.

Bạn có thể thấy điều đó, khi bạn cố gắng ping để các trang web thích www.microsoft.com, ping của bạn sẽ thất bại ngay cả khi nó trực tuyến và do bộ định tuyến của Microsoft chặn ICMP_Vquests.

Vì vậy, linux bảo vệ hệ thống khỏi người dùng không có đặc quyền, vì vậy họ không thể sử dụng các lệnh này để tấn công.


3
Thông thường, các hạn chế đối với người dùng không có đặc quyền được sử dụng để bảo vệ hệ thống khỏi bị tấn công - không được sử dụng làm véc tơ để tấn công các hệ thống khác. Điều này không hoàn toàn có ý nghĩa với tôi - bạn có biết bất kỳ tài liệu nào hỗ trợ việc này không?
Iszi

3

tôi nghĩ bạn phải đọc cái này http://www.ehow.com/list_7526520_differences-b between-traceroute-tracepath.html

Từ liên kết trên:

TracePath

Tracepath theo dõi đường dẫn đến một địa chỉ mạng được chỉ định, báo cáo về "thời gian tồn tại" hoặc độ trễ TTL và các đơn vị truyền tối đa (MTU) trên đường đi. Lệnh này có thể được chạy bởi bất kỳ người dùng nào khác có quyền truy cập vào dấu nhắc dòng lệnh.


Thông tin cơ bản về Traceroute

Traceroute về cơ bản giống như Tracepath ngoại trừ theo mặc định, nó sẽ chỉ cung cấp giá trị TTL. Nếu bạn muốn dữ liệu bổ sung, bạn phải yêu cầu các biến đó trên dòng lệnh. Ngoài ra, traceroute yêu cầu quyền truy cập siêu người dùng để chạy lệnh trên hộp Linux và một số yêu cầu dữ liệu nâng cao có thể không được hỗ trợ bởi tất cả các bộ định tuyến dọc theo đường dẫn. Trong môi trường Windows, bất kỳ người dùng nào có quyền truy cập vào dòng lệnh đều có thể chạy Traceroute.


Cảm ơn liên kết, nhưng bạn có thể đặt một số nội dung thực tế trong câu trả lời của bạn?
Iszi

Xin chào bodhi.zazen, cảm ơn bạn đã cải thiện bài viết của tôi. :)
rdʒɑ 20/03 '

5
Cảm ơn bạn đã làm rõ. Tuy nhiên, câu trả lời ở đây (chưa nhận được liên kết) vẫn còn thiếu hai phần của câu hỏi: Tại sao lại tracerouteyêu cầu quyền truy cập siêu người dùng (đặc biệt là vì nó thực sự có vẻ ít hơn tracepathmặc định)? Và, ngoài các tình huống mà bạn không phải là siêu người dùng, tại sao bạn nên chọn cái này hơn cái kia?
Iszi

1

pingtraceroutesử dụng giao thức ICMP. Giống như UDP và TCP, điều này có thể truy cập thông qua API ổ cắm thông thường. Chỉ các số cổng UDP và TCP dưới 1024 được bảo vệ khỏi sử dụng, ngoại trừ bằng root. ICMP có sẵn miễn phí cho tất cả người dùng.

Nếu bạn thực sự muốn xem ping và traceroute hoạt động như thế nào, bạn có thể tải xuống một triển khai mã C mẫu cho họ từ CodeProject .

Nói tóm lại, họ đơn giản mở một ổ cắm ICMP và theo dõi thay đổi mức tăng của TTL bằng cách sử dụng setsockopt cho đến khi đạt được mục tiêu.

Nguồn: Liên kết


Cũng thế; tracepath sử dụng UDP, trong đó thêm vào các tùy chọn UDP trong traceroute, không yêu cầu các đặc quyền nâng cao.
Ahmadgeo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.