修正する:

修正する:

私はホスト名を自分のIPアドレスに関連付けることができることを知っています/etc/hosts

1.2.3.4   foo

たとえば、tcpdump出力にfoo私のIPアドレスの代わりに表示されます(-n使用されていない場合)。

IP -> hostname実際にファイルを編集せずにコマンドラインからこれらのマッピングを一時的に追加できますか?

Wi-Fiに接続してランダムなIPを取得したとしましょう。私はこのIPをtcpdumpの私のホスト名で解決したいと思います。今回のセッション(項目を永久に追加する必要はありません/etc/hosts

修正する:

私の質問とタイトルが明確でない場合は、修正せずにこれを行う方法を探しています/etc/hosts

hostname編集なしで現在のセッション(つまり、次の再起動まで)のホスト名を設定するコマンドを使用できるように、変更なしで現在のセッション(つまり次の再起動/etc/hostnameまで)のリバースルックアップを設定しようとしています/etc/hosts

ベストアンサー1

Cライブラリのホスト名解決サービス(ホスト名解決が必要なほとんどすべてのソフトウェアで使用されます)は、hosts:主にファイルの行によって制御されます/etc/nsswitch.conf。この行の各キーワードはlibnss_*.soそのライブラリをロードし、最終的にアプリケーションのホスト名解決要求を処理します。

ディストリビューションにというパッケージ(またはライブラリを提供するnss-myhostname他のパッケージ)が含まれている場合は、そのパッケージをインストールして行に追加すると、ライブラリは自動的にローカルに設定されたシステムホスト名をすべてのIPアドレスに関連付けます。システムにネットワークインターフェイスを設定しました。この構成では、接続を更新するためにコマンドを実行する必要はありません。すべての操作が自動的に実行されます。システムにIPアドレスがまったく設定されていない場合、ローカルホスト名もIPアドレス127.0.0.2(およびIPv6アドレス::1)に関連付けられます。libnss_myhostname.so.*myhostnamehosts:nsswitch.conf

hosts:行にnsswitch.confキーワードが含まれている場合、または行に行がresolveある/etc/resolv.conf場合は、DNSリゾルバーをnameserver 127.0.0.53使用しています。systemd-resolvedこれは、ローカルホスト名とローカルに設定されたIPアドレスと同様の自動相関を提供しますlibnss_myhostname(上記参照)。これが発生した場合は、man systemd-resolvedセクションを参照してお読みくださいSYNTHETIC RECORDS。また、オプションのmDNS(以下を参照)およびLLMNR(Link Local Multicast Name Resolver / Responder)機能も含まれており、ロータリー方式でローカルホスト名解決を提供することもできます。

hosts:回線にnsswitch.confマルチキャストDNS(mDNS)を使用できるホスト名解決サービスが含まれている場合mdns4_minimal そしてシステムには、ローカルシステムのIPアドレスをavahi-daemon自動的に確認できるmDNSレスポンダ(例:)が含まれており、その逆も同様です。<hostname>.local

hosts:行にnsswitch.conf異なるオプションが含まれている場合、またはディストリビューションが異なるライブラリを提供している場合は、ディストリビューションを指定していないため、そのlibnss_*.soオプションが提供する機能を直接調査する必要があります。

hosts:行にnsswitch.confクラシックfilesdnsキーワードのみが含まれている場合または現在、ローカルネットワークインターフェイスに設定されていないIPアドレス(たとえば、他のホストのIPアドレス名)に名前を割り当てる必要があります。次に、次の方法を参照してください。マーカス・ミュラーの答え

これらの答えのどれも効果がなければ「いいえ、要求された機能はありません。しかし、プログラミング技術があれば直接実装するのに邪魔になることはありません」と答えることになりそうです。上記の可能なアプローチとMarcus Müllerの答えでは、このリストは自分のソリューションに接続するために使用できるインターフェイスのアイデアを提供する必要があります。

おすすめ記事