web-dev-qa-db-ja.com

単純なDig出力?

スクリプトでは、IPアドレスをどこかに簡単に書き込めるようにしたいので、バックティックでDig(または同様のコマンド)を使用することを考えました。

ただし、Digパラメータを作成するために私が思いついた最も単純な出力は次のとおりです。

> Dig -t A +noall +answer www.google.com
www.google.com.     300 IN  A   173.194.66.106
www.google.com.     300 IN  A   173.194.66.104

IPアドレス以外のジャンクを取り除く方法(余分な引数、掘る代わりに別のツール?)?? (そしてsedを使うように言わないでください。

ありがとう

4
knocte

CentOSボックスで私は手渡さなければなりません

Dig +short   www.google.com
74.125.132.147
74.125.132.99
74.125.132.103
74.125.132.104
74.125.132.105
74.125.132.106

1つのアドレスのみが必要な場合

Dig +short   www.google.com | head -1

または

Dig +short   www.google.com | tail -1
14
user9517

sedは実行可能なオプションであり、それを完全に拒否するのはmisguidedせいぜいです。

とにかく、試してみてください

Dig -t A +noall +answer www.google.com | cut -f 6 | tail -1
3
Sven

スクリプトの場合(特にレポートで逆引き参照を行う場合)、特定のDNS機能をテストする必要がない限り、ローカルDNSキャッシングデーモンを実行している場合は、getent hosts ...を使用することをお勧めします(例: .nscdまたはdnsmasqdなどのローカルキャッシングDNSサーバー)を使用すると、パフォーマンスとキャッシングが向上し、必要以上に多くのトラフィックでDNSサーバーを攻撃することはありません。

AWKでの例を含む説明 を作成しました。それが人々が私が取り組んでいる痛みのいくつかを回避するのに役立つことを願っています。

0
Cameron Kerr