Linux»ñÈ¡±¾»úIP¡¢MACʾÀý³ÌÐò
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/ioctl.h>
#include <net/if.h>
#include <stdio.h>
#include <string>
#include <iostream>
#include <cstring>
using namespace std;
void peek_interfaces(int fd);
void print_hw_addr(int fd, const char* if_name);
int main() {
int fd = socket(AF_INET, SOCK_DGRAM, 0);
if(-1 == fd) {
perror("Failed create socket.");
return -1;
}
peek_interfaces(fd);
close(fd);
return 0;
}
void peek_interfaces(int fd) {
ifreq ifs[16] = {0};
ifconf conf = {sizeof(ifs)};
conf.ifc_req = ifs;
if(-1 == ioctl(fd, SIOCGIFCONF, &conf)) {
perror("Failed IOCTL SIOCGIFCONF.");
return;
}
if(conf.ifc_len >= sizeof(ifs)) {
perror("Buffer too small for IOCTL SIOCGIFCONF.");
return;
}
int num = conf.ifc_len / sizeof(ifreq);
cout << num << " interface entry retrieved." << endl;
for(int i = 0; i < num; ++i) {
cout << "[ " << ifs[i].ifr_name << " ]" << endl;
sockaddr_in* sai = (sockaddr_in*)&ifs[i].ifr_addr;
cout << "Addr: " << inet_ntoa(sai->sin_addr) << endl;
print_hw_addr(fd, ifs[i].ifr_name);
cout << endl;
}
}
void print_hw_addr(int fd, const char* if_name) {
ifreq req = {0};
strcpy(req.ifr_name, if_name);
if(-1 == ioctl(fd, SIOCGIFFLAGS, &req)) {
perror("Failed IOCTL SIOCGIFFLAGS.");
return;
}
if(req.ifr_flags & IFF_LOOPBACK) {
cout << "Is LOOPBACK." << endl;
return;
}
if(-1 == ioctl(fd, SIOCGIFHWADDR, &req)) {
perror("Failed IOCTL SIOCGIFHWADDR.");
return;
}
unsigned char* puc = (unsigned char*)req.ifr_hwaddr.sa_data;
printf("HW addr: %02x:%02x:%02x:%02x:%02x:%02x\n",
puc[0], puc[1], puc[2], puc[3], puc[4], puc[5]);
}
Ïà¹ØÎĵµ£º
¼¶±ð£º ³õ¼¶
Ñî ¾ (cdlyangj@cn.ibm.com), Èí¼þ¹¤³Ìʦ, IBM
2008 Äê 11 ÔÂ 27 ÈÕ
ÈçºÎ¶¨Î»Ó¦ÓóÌÐò¿ª·¢ÖеÄÄÚ´æÎÊÌ⣬һֱÊÇ inux Ó¦ÓóÌÐò¿ª·¢ÖÐµÄÆ¿¾±ËùÔÚ¡£ÓÐÒ»¿î·Ç³£ÓÅÐãµÄ linux Ï¿ªÔ´µÄÄÚ´æÎÊÌâ¼ì²â¹¤¾ß£ºvalgrind£¬Äܹ»¼«´óµÄ°ïÖúÄã½â¾öÉÏÊöÎÊÌâ¡£ÕÆÎÕ valgrind µÄʹÓÃÒÔ¼°¹ ......
µÚÒ»²½£ºÔÚVMWAREÖУ¬ÔËÐÐÆô¶¯LINUXºó¡£µã»÷VM->INSTALL VMWare TOOLS£¬µã»÷OK¡££¨²¹³ä£ºÍ˳öVMWARE»Øµ½XPÓÃCTRL+ALT£©
µÚ¶þ²½£º½øÈëLINUXºó£¬ÔËÐÐÖÕ¶Ë¡£Ö´ÐÐmount /dev/cdromÒÔÎļþ·½Ê½¹ÒÔØ¹âÇý£¨Èç¹ûûÓеÚÒ»²½£¬¾ÍûÓÐÕâÒ»²½£¬ÒòΪÐèÒªµÄTOOLSÊÇÒÔ¹âÇýÎļþÐÎʽ´æ·Å£© ......
ddÃüÁî
°ÑÖ¸¶¨µÄÊäÈëÎļþ¿½±´µ½Ö¸¶¨µÄÊä³öÎļþÖУ¬²¢ÇÒÔÚ¿½±´µÄ¹ý³ÌÖпÉÒÔ½øÐиñʽת»»¡£Óï·¨£º
CODE:[Copy to clipboard]dd ¡²Ñ¡Ï
QUOTE:
if =ÊäÈëÎļþ£¨»òÉ豸Ãû³Æ£©¡£
of =Êä³öÎļþ£¨»òÉ豸Ãû³Æ£©¡£
ibs = bytes Ò»´Î¶ÁÈ¡bytes×Ö½Ú£¬¼´¶ÁÈ뻺³åÇøµÄ×Ö½ÚÊý¡£
skip = blocks Ìø¹ý¶ÁÈ뻺³åÇø¿ªÍ·µÄibs*blo ......
Oracle Database 10g Release 2 (10.2.0.1) Installation On Red Hat Enterprise Linux 5 (RHEL5)
Ò»°²×°ÐèÇó
1.swap ·ÖÇø²»µÍÓÚ2G
2.selinux ״̬disable
3.ÎïÀíÄÚ´æ²»µÍÓÚ512M
ϵͳ×é¼þ
GNOME Desktop Environment
Editors
Graphical Internet
Text-based Internet
Development Libraries
Development Tools
......
¡¡¡¡ls
¡¡¡¡ls ÃüÁî¿ÉÒÔ˵ÊÇlinuxÏÂ×î³£ÓõÄÃüÁîÖ®Ò»¡£ËüÓÐÖÚ¶àµÄÑ¡ÏÆäÖÐÓкܶàÊǺÜÓÐÓõģ¬ÄãÊÇ·ñÊìÏ¤ÄØ£¿ÏÂÃæÁгöÁË ls ÃüÁîµÄ¾ø´ó¶àÊýÑ¡Ïî¡£
¡¡¡¡-a ÁгöĿ¼ÏµÄËùÓÐÎļþ£¬°üÀ¨ÒÔ . ¿ªÍ·µÄÒþº¬Îļþ¡£
¡¡¡¡-b °ÑÎļþÃûÖв»¿ÉÊä³öµÄ×Ö·ûÓ÷´Ð±¸Ü¼Ó×Ö·û±àºÅ(¾ÍÏóÔÚCÓïÑÔÀïÒ»Ñù)µÄÐÎʽÁгö¡£
¡¡¡¡-c Êä³öÎļþµÄ i ½Ú ......