Lệnh ping hoạt động bằng cách gửi các gói đặc biệt được gọi là các yêu cầu Echo Internet Protocol Message (ICMP) tới một thiết bị đích, và sau đó đợi thiết bị đó gửi lại gói ICMP Echo Reply. Điều này không chỉ cho phép bạn kiểm tra xem thiết bị được kết nối mạng có đang hoạt động hay không, nhưng nó cũng đo thời gian phản hồi và hiển thị cho bạn. Theo mặc định, Tường lửa Windows với Bảo mật Nâng cao chặn ICMP Yêu cầu Echo từ mạng. Chắc chắn, bạn có thể thực hiện bước quyết liệt để vô hiệu hóa tường lửa cho các mục đích thử nghiệm, nhưng một giải pháp đơn giản hơn là tạo ra một ngoại lệ cho phép các yêu cầu ICMP thông qua tường lửa. Chúng tôi sẽ giới thiệu cho các bạn cách thực hiện điều đó từ giao diện Command Prompt và Windows Firewall with Advanced Security.
Hướng dẫn trong bài viết này sẽ hoạt động cho Windows 7, 8 và 10. Chúng tôi sẽ chỉ ra nơi có bất kỳ sự khác biệt lớn nào.
Cảnh báo: Tạo ngoại lệ và mở cổng thông qua tường lửa của bạn sẽ mở ra các nguy cơ bảo mật. Việc cho phép yêu cầu ping không quá lớn, nhưng tốt nhất là chặn bất kỳ thứ gì bạn không cần.
Cho phép Ping yêu cầu bằng cách sử dụng dấu nhắc lệnh
Cách nhanh nhất để tạo ngoại lệ cho các yêu cầu ping là với Dấu nhắc Lệnh. Bạn sẽ cần mở nó với đặc quyền quản trị viên. Để thực hiện điều đó trong Windows 8 và 10, nhấn Windows + X và sau đó chọn “Command Prompt (Admin).” Trong Windows 7, nhấn Start và gõ “command prompt.” Nhấn chuột phải vào mục kết quả và chọn “Run as Administrator.”
netsh advfirewall firewall add rule name='ICMP Allow incoming V4 echo request' protocol=icmpv4:8,any dir=in action=allow
Và để tạo ngoại lệ ICMPv6, sử dụng lệnh này:
netsh advfirewall firewall add rule name='ICMP Allow incoming V6 echo request' protocol=icmpv6:8,any dir=in action=allow
Các thay đổi sẽ diễn ra ngay lập tức - không cần phải khởi động lại PC của bạn hoặc bất kỳ thứ gì. Bây giờ, nếu bạn ping máy tính của bạn từ một thiết bị từ xa, bạn sẽ nhận được một kết quả thực tế.
netsh advfirewall firewall add rule name='ICMP Allow incoming V4 echo request' protocol=icmpv4:8,any dir=in action=block
netsh advfirewall firewall add rule name='ICMP Allow incoming V6 echo request' protocol=icmpv6:8,any dir=in action=block
Khi các yêu cầu bị chặn, các yêu cầu ping tới máy tính của bạn sẽ được đáp ứng với lỗi "Yêu cầu hết thời gian".
netsh advfirewall firewall show rule name=all
Cho phép Ping yêu cầu bằng cách sử dụng tường lửa của Windows với bảo mật nâng cao
Trong khi Command Prompt là cách nhanh nhất để thêm một ngoại lệ vào tường lửa của bạn cho các yêu cầu ping, bạn cũng có thể làm điều này trong giao diện đồ họa bằng cách sử dụng ứng dụng "Windows Firewall with Advanced Security". Nhấn Start, gõ “windows firewall with” và sau đó khởi chạy “Windows Firewall with Advanced Security”.
Thực hiện theo các bước tương tự, chúng ta chỉ cần đi qua và thiết lập tất cả các tùy chọn chính xác giống như chúng ta đã làm cho quy tắc ICMPv4. Tuy nhiên, khi bạn đến trang cổng và giao thức, chọn “ICMPv6” từ danh sách thả xuống thay vì “ICMPv4”. Điều đó - và tạo tên khác cho quy tắc - là hai thứ duy nhất thay đổi.
Nếu bạn muốn vô hiệu hóa tất cả điều này, bạn có thể quay lại và xóa hai quy tắc đó. Tuy nhiên, bạn có thể tốt hơn là chỉ tắt quy tắc thay thế. Bằng cách đó, bạn có thể bật lại chúng mà không cần tạo lại chúng. Trong ứng dụng “Windows Firewall with Advanced Security”, chọn “Inbound Rules” ở bên trái và xác định các quy tắc bạn đã tạo trong panel ở giữa. Nhấp chuột phải vào một quy tắc và chọn “Tắt” để ngăn các yêu cầu ping truyền qua tường lửa.