2
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()ですか?

4

1 に答える 1