アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生unstable -- あるハッカー
なぜできる? (スコア:1)
Re:なぜできる? (スコア:2, 参考になる)
要するに、IP パケットレベルで NAT変換→パケット送出するには管理者権限がいるけど、TCP レベルまで解釈して通常の通信 API (connect, read, write, close, ...) に*翻訳*すれば通常のユーザ権限だけで中継できるという話ではないかと。
# そういえば1995年頃は某所で slirp をよく使っていたなぁ...
QEMU [bellard.org]なんかでも同じ技術を [bellard.free.fr] 使っている [dion.ne.jp]ようです。
# この関係で後輩から突然 slirp とかいう名前を9年ぶりに聞いてびっくりしました。
Re:なぜできる? (スコア:0)
私が海外送金をしたのは、TIAの購入が最初だったような
Re:なぜできる? (スコア:0)
admin 権限のないユーザモードの1プロセスが、ほかの特定のプロセスの通信を制御するなら、Socket API の呼び出しを横取りすればいけるかなーという気が。説明の「ユーザーモード仮想 TCP/IP プロトコル・スタックと Socket API との間の動的なマッピングによる NAT 機能の提供」というのは
Re:なぜできる? (スコア:0)
Power User ぐらいからじゃないとできないと思ってた。
Re:なぜできる? (スコア:1, 興味深い)
・あらかじめ、ユーザレベルでTCPとUDPのソケットを作っておく。
・SoftEtherプロトコルで送られてくる(TCP/IPにカプセル化された)Ethernetパケットを受け取り、パケットの中身を調べる。
・それが例えばUDPパケットなら、
パケット内のソースIPアドレスとポートを作っておいたUDPソケットのものに置き換え(NAT処理)
作っておいたUDPソケットから目的IPアドレスへsendtoする
・それがTCPパケットなら(以下省略)
・UDPソケットやTCPソケットにパケットが来たときは、逆の処理を行ってSoftEtherプロトコルで送り出す。
というわけで、管理者権限はいりません。また、TCPとUDP以外は転送できないものと思われます。
Re:なぜできる? (スコア:0)
なるほど、そういう役目をするだけのものなら、管理者権限なんかいらないや...
# どうやってネットワーク管理権限のないマシン上にネットワークインターフェースを(IPアドレスを)たてるんだろうとおもってた。
Re:なぜできる? (スコア:0)
で、制限ですけれど、一般ユーザがTCP接続を張ることに制限をかけないならば、どうしようもなかろうと。じゃ