Có thể cập nhật tệp máy chủ trong Windows qua tệp bó có thể gây hại không?


1

Tôi có đoạn script này mà tôi đã lưu dưới dạng .bat tập tin. Nó có thể làm tổn thương một máy tính?

echo # >> %Windir%\System32\drivers\etc\hosts
echo 0.0.0.0    www.facebook.com >> %Windir%\System32\drivers\etc\hosts

Tôi chỉ tự hỏi liệu điều này có thể có bất kỳ tác dụng phụ nào trên máy tính giống như tham nhũng một cái gì đó không? Tôi không nghĩ rằng nó có thể. Tất cả những gì nó làm là khiến Facebook hiển thị lỗi DNS bằng cách thay đổi tệp máy chủ.


Nếu bạn muốn thoát khỏi Facebook, có những lựa chọn thay thế tốt hơn (addins / tiện ích mở rộng) cho các trình duyệt khác nhau. Điều này sẽ làm việc, nhưng facebook.com có quá nhiều tên miền phụ, nó gần như vô nghĩa. Ngoài ra, một proxy (Privoxy, v.v.) có thể lọc các trang web và do đó sẽ xóa mọi liên kết đến facebook chẳng hạn. Dù sao, không có kết hợp mờ này không có nhiều ý nghĩa và hosts tập tin không cho phép điều đó.
0xC0000022L

1
Điều này sẽ phải được điều hành với tư cách quản trị viên để làm việc, trong trường hợp bạn không biết. Ngoài ra, họ chỉ có thể sử dụng facebook.com, địa chỉ IP, facebook.us, v.v ... Tôi muốn giới thiệu một phương pháp khác.
cutrightjm

Câu trả lời:


1

Thông thường tôi đã thấy mọi người sử dụng localhost thay vì 0.0.0.0. Tôi không biết lý do cho việc này; nhưng nó không phải là một vấn đề lớn

Khác hơn thế; kịch bản này là hoàn toàn ổn. Lưu ý rằng bạn sẽ không thể sử dụng Facebook sau khi chạy tập lệnh này nhưng tôi nghĩ đó là những gì bạn đang cố gắng thực hiện.


2
Sự khác biệt giữa 0.0.0.0 và localhost là địa chỉ đầu tiên không phải là địa chỉ IP hợp lệ và thứ hai là địa chỉ IP của PC cục bộ. Sử dụng localhost sẽ chuyển hướng các gói đến PC cục bộ chứ không phải nơi nào. Ví dụ, nếu bạn có một máy chủ web trên PC cục bộ thì nó sẽ phục vụ một trang thay vì yêu cầu không đi đến đâu. Hoặc là hợp lệ. Nó phụ thuộc vào những gì bạn muốn.
Wayne Johnston

0

Nó khá an toàn. Nếu bạn lo lắng, điều duy nhất bạn cần làm là sao lưu tệp% Windir% \ System32 \ driver \ etc \ hosts, sau đó khôi phục nó nếu mọi thứ không hoạt động như mong đợi.

Bạn cũng có thể muốn thêm một dòng

echo "127.0.0.1    localhost" >> %Windir%\System32\drivers\etc\hosts

Dưới cùng của tập tin là tốt để có được xác định.

Có thể là nếu bất kỳ tệp nào khác điều chỉnh tệp "hosts" của bạn (ví dụ: "trình chặn quảng cáo", tập lệnh này sẽ hoàn nguyên thay đổi đó)


0

Kịch bản hoạt động tốt miễn là dòng cuối cùng của tệp máy chủ đã bị chấm dứt.

Nếu dòng cuối cùng là (không có ngắt dòng ở cuối)

127.0.0.1    localhost

nó sẽ đọc

127.0.0.1    localhost#

sau đó Điều này chỉ hoạt động kể từ khi # là nhân vật bình luận; bất kỳ nhân vật nào khác sẽ phá vỡ một vài điều, nhưng "thiệt hại" sẽ dễ dàng hồi phục.

Để chèn ngắt dòng ở cuối tệp máy chủ, hãy thực thi

echo.>> %Windir%\System32\drivers\etc\hosts

trước các lệnh khác.


1
Cảm ơn lý do tôi đặt # trong đó là vì lý do chính xác đó. một số tệp lưu trữ không có dòng khác vì vậy tôi đặt # ở đó để bắt đầu dòng mới cho ánh xạ lại thực tế. bởi vì tập tin dosnt tính # là bất cứ điều gì. "." tạo một dòng mới trong tập tin?
Megaeverything

1
Vâng, echo. (không có khoảng cách giữa echo. ) in một dòng mới.
Dennis

Tôi đã kiểm tra và # không có hại, nhưng tôi vẫn nghĩ rằng dòng mới trong cách tiếp cận sạch hơn.
Dennis

0

Không có tác dụng phụ nào cả. Nó chỉ chuyển hướng Facebook đến loopback cục bộ 0.0.0.0 của bạn. Cách đơn giản và hiệu quả để làm cho lỗi dns facebook.

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.