Cách chặn trang web với PowerShell trên Windows 10

19/03/2020 10:33 GMT+7

Bạn có thể sử dụng PowerShell trên Windows 10 để chặn những trang web không mong muốn hoặc cả những IP cục bộ trong mạng LAN.

Chặn IP hoặc dải IP bằng PowerShell

Bạn dùng dòng lệnh sau để chặn một IP hoặc một dải IP của một tên miền nào đó.
New-NetFirewallRule -DisplayName "Block XYZ.com IP address" -Direction Outbound –LocalPort Any -Protocol TCP -Action Block -RemoteAddress 146.185.220.0/23
Trong câu lệnh trên bạn thay dòng Block XYZ.com IP address bên trong dấu nháy kép thành một cái tên gì đó dễ nhớ để lưu chúng vào rule của tường lửa. IP hoặc dãy IP sẽ được đặt cuối cùng trong câu lệnh (ở đây là 146.185.220.0/23), đây là đối tượng sẽ bị chặn. Bạn có thể thay dòng RemoteAddress bằng tùy chọn LocalAddress nếu IP là địa chỉ IP mạng cục bộ.
Sau khi PowerShell thực thi xong, bạn sẽ nhận được thông báo “The rule was parsed successfully from the store. (65536)” và hãy truy cập thử vào Windows Firewall để kiểm tra xem quy tắc chặn mới đã được thêm vào hay chưa.

PowerShell tự động tạo rule cho tường lửa với tên do bạn đặt

Ảnh chụp màn hình

Chặn trang web hoặc tên miền với PowerShell

Vì chức năng không hỗ trợ chặn theo tên miền dạng xyz.com, nên sẽ có 2 giải pháp. Đầu tiên là truy vấn tất cả IP có thể có của tên miền đó và chặn chúng. Thứ hai là tìm các dải IP chính thức đã biết và chặn chúng.
Bạn có thể dùng dòng lệnh Resolve-DnsName "xyz.com" trên Powershell để truy vấn ra địa chỉ IP máy chủ của tên miền. Hoặc dùng dịch vụ trực tuyến như check-host.net để tìm ra dải IP của nhiều máy chủ khác nhau. Sau khi có địa chỉ IP bạn cũng dùng lệnh tương tự như ở trên để chặn trang web.

Chặn tên miền bằng cách truy vấn địa chỉ IP

Ảnh chụp màn hình

Lưu ý nếu trang web sử dụng nhiều IP truy vấn cho một tên miền thì không thể áp dụng cách chặn này được, vì tên miền sẽ tự động kết nối tới địa chỉ IP khác khi một IP không thể kết nối tới.
Top

Bạn không thể gửi bình luận liên tục. Xin hãy đợi
60 giây nữa.