TCPパケットの送信元ポートをなりすます方法は?

TCPパケットの送信元ポートをなりすます方法は?

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」を実行したいように聞こえるからです。mangleiptables

答え2

telnet適切なプロトコル(またはネイティブTCPストリーミング)を使用している場合は、次を使用してTelnetオプションをネゴシエートできますnc -p <source_port>-t私の下にはTelnet接続を許可するターミナルサーバーがありますtcp/2015tcp/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これは唯一のオプションです。

関連情報