TCPパケットがシステムを離れるときに書き換える簡単な方法はありますか(または可能ですか)。
たとえば、私が実行した場合
telnet binfalse.de 22
マシンから出るために使用されていないポートを探します。この場合は次のようになります46576
。
root@srv % lsof -i -P -n | grep telnet
telnet 10150 user 3u IPv4 1159425 0t0 TCP 1.2.3.4:46576->87.118.88.39:22 (ESTABLISHED)
1337
しかし、サーバーは要求がポートなどから来ると思うようにこれらのパケットを書き換えたいと思います。もちろん、私はtelnet
会議で答えを期待する必要がないことを知っていました。
編集する:
もちろん、1337
他の放送に出演するのは聞くことだったので、すごいことはできtelnet
ない1337
だろうが…。
答え1
Linuxについて話していると仮定すると、発信TCPトラフィックに対してあらゆる種類のクレイジーなタスクを実行するテーブルが iptables
あります。 NAT機能も役に立ちます。これは、「ポートアドレス変換」または「手動NAT」を実行したいように聞こえるからです。mangle
iptables
答え2
telnet
適切なプロトコル(またはネイティブTCPストリーミング)を使用している場合は、次を使用してTelnetオプションをネゴシエートできますnc -p <source_port>
。-t
私の下にはTelnet接続を許可するターミナルサーバーがありますtcp/2015
。tcp/31415
# Window 1
[mpenning@hotcoffee ~]$ nc -p 31415 -t 192.168.12.117 2015
????????????????
8024-1(config-if-Po2)#
確認してください...
[mpenning@hotcoffee tshark_wd]$ netstat -an | grep 31415
tcp 0 0 192.168.12.236:31415 192.168.12.117:2015 ESTABLISHED
[mpenning@hotcoffee tshark_wd]$
これはまだローカルソケットでリッスンしていないと仮定しますtcp/31415
。必要なポートにバインドされたローカルTCPソケットがすでにある場合、iptables
これは唯一のオプションです。