File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * lookup.go
3
+ *
4
+ * 引数で指定されたホスト名に対応する IP アドレスを取得する。
5
+ */
6
+ package main
7
+
8
+ import (
9
+ "fmt"
10
+ "net"
11
+ "os"
12
+ "strings"
13
+ )
14
+
15
+ func main () {
16
+ // 引数の数をチェック
17
+ if len (os .Args ) < 2 {
18
+ fmt .Println ("useage:" + os .Args [0 ] + " HOST_NAME" )
19
+ os .Exit (1 )
20
+ }
21
+
22
+ // ホスト名文字列を取得
23
+ hostName := os .Args [1 ]
24
+
25
+ // ホストの IP アドレスを取得
26
+ addrs , err := net .LookupIP (hostName )
27
+ if err != nil {
28
+ fmt .Println ("net.LookupIP 実行時エラー" )
29
+ os .Exit (1 )
30
+ return
31
+ }
32
+ if len (addrs ) == 0 {
33
+ fmt .Fprintln (os .Stderr , "IP アドレスが見つかりませんでした。" )
34
+ os .Exit (2 )
35
+ return
36
+ }
37
+
38
+ // IP アドレスを改行区切りで表示
39
+ ipStr := make ([]string , len (addrs ))
40
+ for i := 0 ; i < len (addrs ); i ++ {
41
+ ipStr [i ] = addrs [i ].String ()
42
+ }
43
+ fmt .Printf ("%s\n " , strings .Join (ipStr , "\n " ))
44
+ }
You can’t perform that action at this time.
0 commit comments