Python ローカルのIPアドレスを取得する


Python コード
ローカルのIPアドレスを取得する

import socket
list = []
print "socket name" 
for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]:
	s.connect(('8.8.8.8', 80))
	nlist = s.getsockname()
	for n in nlist:
		print n,
	print
	name = nlist[0]
	list.append( name )
	s.close()
print
print "IP Address"
print list[0]

socket.socket(family, type)
AF_INET は、IPv4 インターネットプロトコルのこと。
SOCK_DGRAM は、IPパケットのこと。

s.connect((host, port))
8.8.8.8 は、Google の DNS サービスだと思うが。これを使う理由はよくわからない。

s.getsockname()
ソケットのIPアドレスとソケット番号を取得する。

参考
ローカルIPアドレスをプログラムで取得するには
python socket — 低レベルネットワークインターフェース
linux SOCKET


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です