私は、ipレベルで独自のパケットを形成し、データを送信するカーネルモジュールを作成しています。私はちょうどローカルネットワークインターフェイスのIPアドレスを見つける方法を知りたいです。カーネルモジュールからローカルNICのip-addressを取得
答えて
ioctls SIOCGIFADDR
(アドレスの場合)とSIOCSIFADDR
(アドレスの場合)を定義しています。
IPv4のすべてのデバイス設定は、net/ipv4/devinet.c
で行われます。詳細は、このソースファイルを参照してください。
私はカーネルスペースのIPアドレスにioctlを使用したいと思います.....どうすればいいですか?コードを書くことで伝えてください – karan421
インターフェイスのアドレスを読みたい場合は、設計上問題があります。ただし、リモートピアに接続するときに使用する優先送信元アドレスを決定する場合は、ip6_route_output
で取得した後にstruct rt6_info.rt6i_prefsrc
で指定します。 (なし暗黙の保証付)の線に沿って何か:
int pick_addr(struct in6_addr *saddr, struct net *net, const struct in6_addr *daddr)
{
struct rt6_info *rt;
struct flowi6 fl6;
int ret;
memset(&fl6, 0, sizeof(fl6));
memcpy(&fl6.daddr, daddr, sizeof(*daddr));
dst = (struct rt6_info *)ip6_route_output(net, NULL /* or sk if you have it */, &fl6);
ret = rt->dst.error;
if (ret == 0)
memcpy(saddr, &rt->rt6i_prefsrc.addr, sizeof(*saddr));
dst_release(&rt->dst);
return ret;
}
このコードはip 6のようです。ip 4が必要です。 – karan421
IPv4スケルトンについてはnet/netfilter/xt_TEE.cを参照してください)。 prefaddrは 'struct rtable.rt_src' AFAICSにあります。 –
我々はのlinux-XYZ /ドキュメント/ネットワーキング/ ifenslave.cにどのようにの非常に良い例ですファイルを利用できる if_getconfig機能を持っていますioctlsを使用し、カーネルスペースからアドレスを取得する
- 1. NICスピードモードを遠隔から取得するには?
- 2. ユーザスペースからLinuxカーネルモジュールのリストを取得する方法Cコード?
- 3. ローカルの.resxファイルから値を取得
- 4. カーネルモジュールのファイルシステムマウントポイントを取得する
- 5. NICから送受信された累積バイトを取得する
- 6. LinuxのNIC /イーサネットカードリンクステータスのイベントを取得します
- 7. リストボックスから特定のユーザーのIpaddressを取得するにはどうすればいいですか?
- 8. JVM上のスタックフレームからローカル変数を取得する
- 9. Web2pyからローカルHTMLファイルへのPOSTデータの取得
- 10. SCRIPT1014の取得:ローカルjsファイルから無効なIEの文字
- 11. ローカルIPアドレスの取得
- 12. ローカル変数の取得
- 13. Firefox拡張コードからローカルIPを取得する方法
- 14. Javaアプレットから正しいローカルIPアドレスを取得
- 15. CSVファイルからデータをローカルに取得する、iphoneアプリケーション
- 16. Linuxカーネルモジュールの作成時にユーザープロセスPIDを取得する
- 17. ネットワークジッタと帯域幅を取得するためのカーネルモジュール?
- 18. サブネット別クエリipaddress
- 19. スクリプトが間違ったNIC IPの詳細を取得しています
- 20. ローカルSQLサーバのインスタンス名を取得
- 21. moneybookersでローカルURLのステータスを取得
- 22. ファイルアクセスのローカルTomcatパスを取得する
- 23. カーネルモジュール内のファイルディスクリプタからファイル名を取得するにはどうすればよいですか?
- 24. カーネルモジュールからGNOMEバックグラウンドを変更する
- 25. カーネルモジュールからx86 MSRを読む
- 26. Objective-CのプリプロセッサDEFINEからローカルIPアドレスを取得できますか?
- 27. の問題リモートサーバーからローカルのmysqlデータベース列の現在のタイムスタンプを取得
- 28. NSStringからNSIntegerへのIPAddressの変換と操作
- 29. ローカルWindowsの取得C#のユーザーログインセッションのタイムスタンプ
- 30. ドキュメントとストアからすべてのイメージをローカルに取得する方法
ネットワークインターフェイスは、多くの異なる送信者からのパケットを受信できます。受信したパケットから送信者を取得します。 –
@JoachimPileborg私のインターフェイスのIPアドレスが必要です。私のインターフェースのIPアドレスを取得する機能はありませんか?私はトラフィックを生成しているので、rxパケットをキャプチャしてそこから取得したくない – karan421
質問とタイトルを編集してより明確にしました。 –