2011-06-29 16 views
5

私は汎用的な用途のためにアプリケーションプロキシを作成しています。リダイレクト後のiptablesから元の宛先を取得する

私はこれを透過プロキシとして使用したいと考えています。元の計画では、アプリケーションプロキシへのすべての接続を転送するREDIRECTルールでiptablesを使用しています。

ここでの問題は、私のアプリケーションプロキシが意図した宛先に関する情報を失うことです。

iptablesを照会して元の受信者を取得することは可能ですか? この問題に対する他の解決策もありがとうございます!

答えて

7

おそらくこれはあなたが探していたものですか?

http://www.network-builders.com/iptables-redirect-original-destination-ip-t69515.html

TCPソケットのSO_ORIGINAL_DSTオプションをお読みください。
または、/ proc/net/ip_conntrackにある接続追跡テーブルを参照してください。

#include <linux/netfilter_ipv4.h> 

struct sockaddr_in addr; 
bzero((char *) &addr, sizeof(addr)); 
addr.sin_family = AF_NET; 
socklen_t addr_sr = sizeof(addr); 
getsockopt(fd, SOL_IP, SO_ORIGINAL_DST, &addr, &addr_sz); 

私はあなたのpythonのために似たようにそれを変換することができるはずだと思います。

+0

魅力的な作品です。ありがとう –

関連する問題