テキストファイルにIPアドレスが入っています。(1行に1IP)

これをまとめてdns逆引きしたいと思っています。
Linux上で動くスクリプトまたはWindows上で動くソフトを教えてください。

テキストファイルの例
10.20.30.40
100.110.120.130
9.8.7.6
55.66.77.88

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答7件)

id:walrus No.1

回答回数39ベストアンサー獲得回数0

ポイント50pt

URLはダミーです。

以下のようなスクリプトで「lookup.sh ip.txt」のように引数にIPアドレスのテキストを指定すればnslookupが実行されます。

質問文からすると多分ローカルで実行するのだと思うのですが、外部のサーバー自浄での実行などは負荷の問題等でかねないのでご注意ください。

#!/bin/sh

for ADDRESS in `cat $1`

do

echo ”---- $ADDRESS ----”

nslookup $ADDRESS

done

id:bar77

どうも。

早速試してみます。

2004/12/31 18:31:55
id:makita No.2

回答回数2ベストアンサー獲得回数0

ポイント3pt

Windows用ソフトです。

こちらのソフトのTracerouteでどうでしょうか?

id:bar77

2004/12/31 18:32:52
id:kn1967 No.3

回答回数2915ベストアンサー獲得回数301

ポイント5pt

ダミーです。

下記のような内容のテキストファイルを ip.bat といったような名前で保存しておいてMS-DOSプロンプト(コマンドプロンプト)で実行すれば、c:¥ip.txt に結果が入ります。

PING 10.20.30.40 >c:¥ip.txt

PING 100.110.120.130 >>c:¥ip.txt

PING 9.8.7.6 >>c:¥ip.txt

PING 55.66.77.88 >>c:¥ip.txt

上記のようなテキストに書き換えるにはExcelなどを使えば早いです。

id:bar77

pingではないです・・・

まぁping部分をnslookupに置き換えて実行すればいいんでしょうけど、

ホスト名以外にコマンドのメッセージが入るので、

ちょっと出力が扱いづらい・・・

入力が

10.20.30.40

100.110.120.130

9.8.7.6

55.66.77.88

で出力が

aaa.aaa.aaa

bbb.bbb.bbb

ccc.ccc.ccc

ddd.ddd.ddd

のようにホスト名だけを得たいのです。

2004/12/31 18:48:23
id:walrus No.4

回答回数39ベストアンサー獲得回数0

ポイント20pt

http://www.hatena.ne.jp/user?userid=walrus

walrusさんのプロフィール - はてな

URLはダミーです。

最初にnslookupの例を挙げましたが、ほしい出力形式が上のようなものであれば、次のようにしてください。

#!/bin/sh

for ADDRESS in `cat $1`

do

nslookup $ADDRESS | grep ”Name:” | sed -e ”s/ */ /g” | cut -d ” ” -f 2

done

id:bar77

ありがとうございます。

2005/01/04 14:28:39
id:pmakino No.5

回答回数358ベストアンサー獲得回数30

ポイント50pt

Perl を使うと以下のような感じで実現できると思います。

(いずれも ip.txt が元の変換元の IP アドレスの羅列が入っているファイルで、結果が host.txt に出力されます。)

Linux (bash) の場合

perl -ne ’print gethostbyaddr(pack(”C4”, split(/¥./, $_)), 2) || $_, ”¥n”;’ < ip.txt > host.txt

Windows コマンドプロンプト + ActivePerl の場合

perl -ne ”print gethostbyaddr(pack(q(C4), split(/¥./, $_)), 2) || $_, qq(¥n);” < ip.txt > host.txt

どちらでもうまくいかない場合は、以下の3行のスクリプトを ip2host.pl とかで保存して、perl ip2host.pl < ip.txt > host.txt とすれば良いでしょう。

foreach (<>) {

print gethostbyaddr(pack(”C4”, split(/¥./, $_)), 2) || $_, ”¥n”;

}

(はてなは円マークとかダブルクォーテーションとかを全角に変換して掲載してしまうようなので、実際にコマンド入れる時は半角に置き換えてください)

id:bar77

ありがとうございます。

2005/01/04 14:29:21
id:neokim No.6

回答回数16ベストアンサー獲得回数0

ポイント10pt

PHPでのIP⇔ドメイン変換のスクリプトです。

このままでは一つ一つ入力しないといけませんが、PHPが分かるのであれば自作してみては?

id:bar77

どうも。

2005/01/04 14:29:34
id:neokim No.7

回答回数16ベストアンサー獲得回数0

ポイント60pt

http://e-realize.com/softlib/netenum/netenum.htm

株式会社リアライズ 富山のシステム開発

試していませんが、WINのフリーソフトです。

色々な機能がついているので返って面倒かも?

id:bar77

みてみます。

皆さんありがとうございました。

2005/01/04 14:30:05

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません