アンケート一覧ページでアンケートを探す

回答受付が終了しました

IPアドレスをいっぱいくっつけたクライアントからTCPで通信するときのソースアドレスを自分で選択したい場合はどうしたらいいですか?

C言語関連 | Linux系185閲覧

新機能 AI回答テストを実施中! テスト対象カテゴリ:歴史・悩み相談 ※回答がつかない場合は、画面のリロードをお試しください

回答(4件)

いや…「したいこと」をただすればいいよ。 つまり、複数割り当てられたIPアドレスから好きなものを選び、それをソースIPアドレスとしてパケットを組み立てて送出すればいい。 ただ。一般論としては「そんなことをしなくてもいいようにするためにポート番号がある」のだけどね。複数のIPアドレスを1台のマシン(の1枚のNIC)に設定する意義は「入口を増やす」ためであって「出口を増やす」ためではない。

NEW! この回答はいかがでしたか? リアクションしてみよう

無理です。 クライアントOSはコスト、メトリックスと宛先アドレスから最適なソースアドレスを選択してしまいます。それを防ぎたいならクライアントアプリでソースアドレスをバインドしてから通信するプログラムを開発すれば可能です。

開発したアプリなら、選択できるように実装する。 市販のアプリで管理者しか変更できないのなら、自身が管理者になりたいと手を挙げる。

socket作るときにsource addressを指定する時に自分で入れる