Bắt gói VPN: gói bên trong trên tun0, phong bì trên eth0
Giao diện đường hầm hiển thị gói ở dạng văn bản rõ, bộ điều hợp vật lý hiển thị phong bì đã mã hóa. Đọc cả hai trước khi gọi một bản bắt gói là rò rỉ siêu dữ liệu.
Bắt gói trên máy chủ VPN không ghi lại một thứ duy nhất. Nhân hệ điều hành phơi bày gói hai lần: được bọc, trên bộ điều hợp vật lý, và được mở, trên thiết bị đường hầm. Chọn giao diện là chọn câu chuyện nào bạn đọc. Phần lớn các cuộc tranh luận về việc một bản bắt gói chứng minh điều gì thực ra là tranh luận về việc câu chuyện nào đã được thu thập.
Đóng gói tạo ra hai góc nhìn
Đường hầm lấy gói mà ứng dụng tạo ra và đặt nó vào bên trong một gói mới có đích là máy chủ VPN. Dạng bên trong xuất hiện trên tun0, wg0 hoặc bất kỳ thiết bị nào máy khách đã tạo. Dạng bên ngoài xuất hiện trên bộ điều hợp mang nó ra mạng. Cả hai dạng đều hợp lệ; chúng trả lời những câu hỏi khác nhau. Hãy thu thập từng dạng riêng, vì hai dạng có tiêu đề và người đọc khác nhau.
sudo tcpdump -i tun0 -n -s 0
sudo tcpdump -i eth0 -n host 198.51.100.20 and udp port 51820
Giao diện giả any là lựa chọn tồi cho so sánh này. Các gói được chuyển tiếp có thể bị ghi hai lần, và một gói được tạo cục bộ xuất hiện ở cả hai dạng, làm phồng số đếm. Nếu một con số có vẻ bất khả thi, hãy kiểm tra giao diện trước khi đổ lỗi cho đường hầm.
Bên trong đường hầm, gói là bình thường
Trên thiết bị đường hầm, những gì bạn thấy là những gì ứng dụng đã yêu cầu nhân gửi. Địa chỉ đích, cổng, tên DNS, tên máy chủ TLS, kích thước và thời gian đều ở đó. Tải trọng TLS vẫn được mã hóa bởi phiên của chính ứng dụng, nên bản bắt gói không tiết lộ nội dung trang. Một truy vấn DNS dạng văn bản rõ hiện ra ở đây dù vật mang của nó đã mã hóa, vì nó chưa bao giờ được bảo vệ.
DNS mã hóa loại bỏ trường hiển thị duy nhất đó. Nó không giấu địa chỉ đích, số byte hay nhịp điệu, vốn là thuộc tính của luồng chứ không phải của truy vấn.
Bên ngoài chỉ có phong bì và hình dạng của nó
Bộ điều hợp vật lý hiển thị địa chỉ của bạn, địa chỉ máy chủ, cổng, kích thước gói và thời gian. Các đích được mang bên trong không xuất hiện, dù hình dạng của chúng vẫn có thể hỗ trợ suy luận. Kích thước và nhịp độ có thể gợi ý một luồng video, một lần truyền lớn hay một phiên trò chuyện mà không nêu tên bất kỳ cái nào. Một người quan sát gần đó thấy gần như cùng khung hình, điều này giải thích cách một đường hầm có thể che giấu trang web trong khi quảng cáo sự hiện diện của chính nó.
Khẳng định đó phụ thuộc vào định tuyến. Một tuyến hẹp hơn, một IPv6 mặc định không vào đường hầm, hoặc một tiến trình gắn với giao diện vật lý sẽ đặt lưu lượng ra ngoài phong bì. Hãy đọc tuyến thực tế trước khi rút ra kết luận từ bản bắt gói.
Địa chỉ ngang hàng và vệ sinh bắt gói
OpenVPN ở chế độ TCP giữ một socket đã thiết lập, nên bảng socket có thể nêu tên ngang hàng. OpenVPN ở chế độ UDP thường để socket không kết nối, và ss có thể chỉ hiển thị phía cục bộ. Thay vào đó, hãy đọc remote của hồ sơ, nhật ký máy khách chi tiết hoặc tuyến đến điểm cuối. WireGuard báo cáo trực tiếp điểm cuối và lần bắt tay gần nhất.
wg show
ss -tunp | grep 51820
Một tệp bắt gói sống lâu hơn phiên đã tạo ra nó. Nó có thể bị sao chép, và có thể bị bất kỳ ai có quyền truy cập cục bộ đọc. Chỉ giữ những gì cuộc điều tra cần, hạn chế quyền và xóa nó khi công việc hoàn tất.
Một bản bắt gói có thể chia sẻ nên nói rõ giao diện nào đã tạo ra nó và khi nào. Không có ghi chú đó, người đọc tiếp theo phải đoán xem họ đang nhìn lớp nào.