Traceroute không hoạt động trên Linux, trên Windows thì không


8

Tôi là người dùng Linux Mint. Tôi đã chạy traceroute trên Linux và tracert trên Windows. Trên Linux, tôi chỉ nhận được các dấu sao. Mọi thứ dường như hoạt động tốt trên Windows. Đây là kết quả đầu ra

Các cửa sổ:

các cửa sổ

Bạc hà Linux:

Bạc hà Linux

Tại sao điều này xảy ra và tôi có thể làm gì để giải quyết vấn đề này?


Và bạn có thể truy cập Internet từ hệ thống Linux Mint? Có phải các hệ điều hành này đều chạy trên cùng một PC? Là một khởi động kép hoặc sử dụng ảo hóa?
depquid

1
Bỏ phiếu vì lý do tương tự như bình luận @depquid. Câu hỏi này thiếu nhiều thông tin quan trọng để giải quyết điều này.
bagavadhar

2
Tôi không nghĩ anh ấy xứng đáng với bất kỳ sự hạ thấp nào cho việc này. Có đủ thông tin ở đây để cung cấp một câu trả lời.
jordanm

1
Tôi không tìm kiếm upvote, chỉ để trả lời, vì vậy tôi sẽ không tự bảo vệ mình :) Về việc tôi có thể truy cập Internet, đây dường như là một câu hỏi không quan trọng. Xin lỗi vì đã không viết về máy: vâng, nó giống nhau (với khởi động kép)
Luigi

Câu trả lời:


14

Một lý do có thể cho sự khác biệt là theo mặc định, Window tracertsử dụng ICMP, trong khi Linux traceroutemặc định là UDP. Sử dụng -Itùy chọn cho traceroute sẽ tạo ra kết quả tương tự như tracert:

traceroute -w 10 -I google.it

Từ traceroutetài liệu:

Trong môi trường mạng hiện đại, các phương pháp theo dõi truyền thống không phải lúc nào cũng có thể áp dụng được, vì sử dụng rộng rãi tường lửa. Tường lửa như vậy lọc các cổng UDP "không chắc" hoặc thậm chí là tiếng vang ICMP. Để giải quyết vấn đề này, một số phương pháp theo dõi bổ sung được triển khai (bao gồm cả tcp), xem DANH MỤC CÁC PHƯƠNG PHÁP CÓ S under dưới đây. Các phương pháp như vậy cố gắng sử dụng giao thức cụ thể và cổng nguồn / cổng đích, để vượt qua tường lửa (được tường lửa nhìn thấy giống như một sự khởi đầu của loại phiên mạng được phép).

DANH SÁCH CÁC PHƯƠNG PHÁP CÓ S

Nói chung, một phương thức theo dõi cụ thể có thể phải được chọn theo tên -M, nhưng hầu hết các phương thức đều có các chuyển đổi cmdline đơn giản của chúng (nếu bạn có thể thấy chúng sau tên phương thức, nếu có).

mặc định

Các phương pháp truyền thống, cổ xưa của tracerouting. Được sử dụng theo mặc định.

Các gói thăm dò là các datagram udp với các cổng đích được gọi là "không thể". Cổng "không thể" của đầu dò đầu tiên là 33434, sau đó với mỗi đầu dò tiếp theo, nó được tăng thêm một. Vì các cổng dự kiến ​​sẽ không được sử dụng, máy chủ đích thường trả về "cổng không tiếp cận icmp" như là một phản hồi cuối cùng. (Không ai biết điều gì xảy ra khi một số ứng dụng lắng nghe các cổng như vậy).


Điều này không làm việc cho tôi. Cho kết quả tương tự.
Ngỗng

0

Thử cái này:

traceroute -M icmp google.it

3
Sẽ tốt hơn nhiều nếu bạn có thể chỉnh sửa câu hỏi của mình và giải thích điều này, và tại sao nó sẽ giải quyết vấn đề được mô tả.
roaima

ICMP không bao giờ là công cụ tốt để khắc phục sự cố mạng (và bạn cũng có thể chỉ cần sử dụng pingsau đó, không cần traceroute -M). Nếu bạn cố gắng đánh giá kết nối HTTP (mà tôi đoán dựa trên tên được sử dụng trong câu hỏi) thì bạn cần thực hiện một truy vấn HTTP mà TCP / 80 hoặc TCP / 443 thường sử dụng. Do đó bạn sử dụng tpctraceroutecho điều đó.
Patrick Mevzek
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.