SIOCGIFADDR = 0x8915
def getIpAddr(iface = 'eth0'):
ifreq = struct.pack('16sH14s', iface, socket.AF_INET, '\x00'*14)
try:
res = fcntl.ioctl(sock, SIOCGIFADDR, ifreq)
except:
return None
ip = struct.unpack('16sH2x4s8x', res)[2]
return socket.inet_ntoa(ip)
各ステップで、関数の戻り値は何ですか? そして、SIOCGIFADDRとは何ですか?また、なぜ関数[2]
の後に使用されているのunpack()
ですか?