Đây là một câu hỏi hay.
Như một vấn đề của thực tế, tcpdump là phần mềm đầu tiên tìm thấy sau khi các dây (và các NIC, nếu bạn sẽ) trên đường TRÊN , và người cuối cùng trên đường OUT .
Wire -> NIC -> tcpdump -> netfilter/iptables
iptables -> tcpdump -> NIC -> Wire
Do đó, nó thấy tất cả các gói đến giao diện của bạn và tất cả các gói rời khỏi giao diện của bạn. Vì các gói đến cổng 53 không nhận được phản hồi, như đã thấy bởi tcpdump, bạn đã xác minh thành công rằng các quy tắc iptables của bạn đã được cấu hình đúng.
BIÊN TẬP
Có lẽ tôi nên thêm một vài chi tiết. tcpdump dựa trên libpcap , một thư viện tạo ra một ổ cắm gói . Khi một gói thông thường được nhận trong ngăn xếp mạng, hạt nhân trước tiên sẽ kiểm tra xem liệu có một ổ cắm gói nào quan tâm đến gói mới đến hay không, và nếu có một gói, nó sẽ chuyển tiếp gói đến ổ cắm gói đó. Nếu tùy chọn ETH_P_ALL được chọn, thì tất cả các giao thức sẽ chuyển qua ổ cắm gói.
libpcap thực hiện một ổ cắm gói như vậy với tùy chọn được kích hoạt, giữ một bản sao để sử dụng riêng và sao chép gói trở lại vào ngăn xếp mạng, nơi nó được xử lý bởi kernel theo cách thông thường, bao gồm cả việc chuyển nó trước cho bộ lọc mạng , kernel không gian đối tác của iptables . Điều tương tự, theo thứ tự ngược lại ( nghĩa là bộ lọc mạng đầu tiên sau đó kéo dài đoạn qua ổ cắm gói), trên đường ra.
Đây có phải là dễ bị hack? Nhưng đương nhiên là. Chắc chắn có các rootkit bằng chứng sử dụng libpcap để chặn các liên lạc đến rootkit trước khi tường lửa có thể đặt tay lên chúng. Nhưng ngay cả điều này mờ nhạt so với thực tế là một truy vấn đơn giản của Google khai quật mã làm việc che giấu lưu lượng truy cập ngay cả từ libpcap . Tuy nhiên, hầu hết các chuyên gia nghĩ rằng những lợi thế vượt trội hơn nhiều so với những nhược điểm, trong việc gỡ lỗi các bộ lọc gói mạng.