Tôi đã có một hộp linux được thiết lập với 2 card mạng để kiểm tra lưu lượng truy cập qua cổng 80. Một thẻ được sử dụng để truy cập internet, một thẻ còn lại được nối với một công tắc mạng. Vấn đề là có thể kiểm tra tất cả lưu lượng HTTP và HTTPS trên các thiết bị được nối với công tắc đó cho mục đích gỡ lỗi.
Tôi đã viết các quy tắc sau cho iptables:
nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:1337
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 1337
-A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
Vào ngày 192.168.2.1:1337, tôi đã có một proxy http trong suốt bằng cách sử dụng Charles ( http://www.charlesproxy.com/ ) để ghi.
Mọi thứ đều ổn đối với cổng 80, nhưng khi tôi thêm các quy tắc tương tự cho cổng 443 (SSL) trỏ đến cổng 1337, tôi gặp lỗi về thông báo không hợp lệ thông qua Charles.
Trước đây, tôi đã sử dụng proxy SSL trên cùng một máy tính với Charles ( http://www.charlesproxy.com/documentation/proxying/ssl-proxying/ ), nhưng đã không thành công khi thực hiện nó một cách minh bạch vì một số lý do. Một số tài nguyên mà tôi đã nói rằng không thể thực hiện được - Tôi sẵn sàng chấp nhận đó là câu trả lời nếu ai đó có thể giải thích lý do.
Lưu ý, tôi có quyền truy cập đầy đủ vào thiết lập được mô tả bao gồm tất cả các máy khách được nối với mạng con - vì vậy tôi có thể chấp nhận các certs tự ký của Charles. Giải pháp không nhất thiết phải là Charles vì về lý thuyết, mọi proxy minh bạch sẽ làm.
Cảm ơn!
Chỉnh sửa: Sau khi chơi với nó một chút, tôi đã có thể làm cho nó hoạt động cho một máy chủ cụ thể. Khi tôi sửa đổi iptables của mình thành như sau (và mở 1338 trong charles cho proxy ngược):
nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:1337
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 1337
-A PREROUTING -i eth1 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.2.1:1338
-A PREROUTING -i eth1 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 1338
-A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
Tôi có thể nhận được phản hồi, nhưng không có máy chủ đích. Trong proxy ngược, nếu tôi chỉ định rằng mọi thứ từ 1338 sẽ đến một máy chủ cụ thể mà tôi muốn nhấn, nó sẽ thực hiện thao tác lắc tay đúng cách và tôi có thể bật proxy SSL để kiểm tra giao tiếp.
Thiết lập ít hơn lý tưởng vì tôi không muốn giả sử mọi thứ từ 1338 đến máy chủ đó - có ý tưởng nào khiến máy chủ đích bị tước không?
Cảm ơn một lần nữa