자신 IP 얻어내기 (Linux 버전)
글쓴이: purewell / 작성시간: 금, 2004/11/05 - 3:38오후
윈도우즈 버전에 이은 리눅스 버전입니다.
//------------------------------------------------------------------------------ // // Get machine ip addresses by sockaddr for sockaddr_in/sockaddr_in6. // // AUTHOR : Yubin Lim // DATE : 2004-11-05 // EMAIL : purewell at purewell dot biz // REQUIRE : Linux, // GNU C/C++ Compiler // //------------------------------------------------------------------------------ # include <sys/types.h> # include <sys/socket.h> # include <sys/select.h> # include <sys/ioctl.h> # include <netdb.h> # include <netinet/in.h> # include <netinet/tcp.h> # include <arpa/inet.h> # include <pthread.h> # include <unistd.h> # include <sys/epoll.h> # include <net/if.h> # include <linux/sockios.h> static bool linux_getMyIP(int nFamily) { int sock; int nRet; size_t nNIC; const size_t nMaxNIC = 256; struct ifconf ifc; struct ifreq ifr[nMaxNIC]; struct sockaddr* pAddr(NULL); struct sockaddr_in addr4; struct sockaddr_in6 addr6; sock = socket(nFamily, SOCK_STREAM, 0); if ( sock == -1 ) return false; ifc.ifc_len = sizeof(ifr); ifc.ifc_ifcu.ifcu_req = ifr; nRet = ioctl(sock, SIOCGIFCONF, &ifc); if ( nRet == -1) return false; close(sock); nNIC = ifc.ifc_len / sizeof(struct ifreq); addr_buf.nIPVersion = nFamily; for ( size_t i = 0 ; i < nNIC; i ++ ) { if ( nFamily == ifc.ifc_ifcu.ifcu_req[i].ifr_ifru.ifru_addr.sa_family ) { // todo convert binary to string... // if nFamily is AF_INET then pAddr is struct sockaddr_in*. // else if nFamily is AF_INET6 then pAddr is struct sockaddr_in6*. pAddr = (&ifc.ifc_ifcu.ifcu_req[i].ifr_ifru.ifru_addr); } } return true; }
Forums:
유용한 정보 고맙습니다.
열심히 찾고 있었는데..
매우 매우 감사합니다~ :D
[url]http://bbs.kldp.org/viewtopic.php?t
http://bbs.kldp.org/viewtopic.php?t=28638&highlight=%BC%AD%C1%F6%C8%C6+++ip
이 글 참고하셔도 괜찮을듯 ^^
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
전 이렇게....
전에 리눅스에서 ip주소 메일로 넘기는 팁하나 적은적있었는데...
대략 어떤분이 한줄짜리로...~~ 수정을... 찾아보니 이렇더군요..
DATE="ip_address `date`";export DATE; ifconfig | mail
hongkildong@empal.com -s "$DATE"
(당근 한줄로 적어줘야합니다. 공간이 좁아서 2줄이된것임..한줄한줄..)
이 부분이 /etc/rc.local에 적어주시면 부팅할때마다 메일로 보내준다는...
요즘은 쓸일이 없지만요... 누가 부팅하냐고 묻지마세요... 꼭 이거 적으면
"부팅은 누가 시키는데요..??" 묻는분이 꼭 있다는..... 그건 각자 알아서...
해결....전 부팅은 해결해드릴수없습니다...
Re: 전 이렇게....
부팅은 원격으로 가능하지 않나요? 전 그렇게 부팅하는데 -_-;
PC 끌때는 터미널에서 shutdown 명령으로하고요. -_-;;;
"빈손으로 사랑하려는 자에게 세상은 너무 가혹하다."
좋은 정보
좋은 정보 감사합니다~~!!!
--------------------------------------------------------
남이 가르쳐주는 것만 받아들이는 것이 아니라, 스스로 만들고, 고쳐가는 사람을 '해커'라고 부른다.
그리고 자신이 쌓아온 노하우를 거리낌없이 나눌 줄 아는 사람을 '진정한' 해커라고 한다.
-Rob Flickenger 'Linux server hacks'
http://heuno
-----------------------------------------------------
남이 가르쳐주는 것만 받아들이는 것이 아니라, 스스로 만들고, 고쳐가는 사람을 '해커'라고 부른다.
그리고 자신이 쌓아온 노하우를 거리낌없이 나눌 줄 아는 사람을 '진정한' 해커라고 한다.
-Rob Flickenger 'Linux server hacks'
DEBIAN TESTING, KDE...
debpolaris.blogspot.kr
댓글 달기