Monday, November 2, 2009

如何從Linux系統抓MAC Address

在Linux 平台上面,可以使用ioctl的方式來得知網路的的MAC Address.

-----------------------
#include 

#include /* for strncpy */

#include
#include
#include
#include
#include

int
main()
{
int fd;
struct ifreq ifr;

fd = socket(AF_INET, SOCK_DGRAM, 0);

ifr.ifr_addr.sa_family = AF_INET;
strncpy(ifr.ifr_name, "eth0", IFNAMSIZ-1);

ioctl(fd, SIOCGIFHWADDR, &ifr);

close(fd);

/* display result */
printf("%.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n",
(unsigned char)ifr.ifr_hwaddr.sa_data[0],
(unsigned char)ifr.ifr_hwaddr.sa_data[1],
(unsigned char)ifr.ifr_hwaddr.sa_data[2],
(unsigned char)ifr.ifr_hwaddr.sa_data[3],
(unsigned char)ifr.ifr_hwaddr.sa_data[4],
(unsigned char)ifr.ifr_hwaddr.sa_data[5]);

return 0;
}


Ref http://www.geekpage.jp/en/programming/linux-network/get-macaddr.php

Tuesday, June 23, 2009

DOS底下的錯誤訊息導向

Redirection of Standard-Error


make all 2> log.txt

這樣就可以將錯誤訊息寫入log.txt檔案裡面。

Thursday, April 30, 2009

寶寶要出生了

我老婆懷孕了,最近都在開始準備囤積未來的東西。像是濕紙巾,尿布...等等。每天都去家樂福
看一下有沒有特價的商品,如果有特價的商品,就趕快先買起來放。

這幾天剛好有看到濕紙巾有在特價,一包39元,平常都是58元。看到這樣,我一口氣就買了24包,
先買起來放,不然以後要買,就要花大把的銀子了!!^^

Wednesday, February 25, 2009

BusyBox 在Serial Console底下不提示login訊息

在Busybox Serial Console底下,在/etc/inittab 裡面加上底下這一行

::respawn:/sbin/getty -n -L ttySA0 115200 vt100 -n -l /bin/sh


系統就不會Show出要你輸入使用者帳號與密碼了!!

Monday, February 9, 2009

warning: missing sentinel in function call

warning: missing sentinel in function call

因為NULL不是一個正確的字元結束( terminated )資料型態,所以就會產生warning: missing sentinel in function call
#include 

int main() {
execl("/bin/ls", "ls", "-l", NULL);
return 0;
}

為了要避險這樣的情形產生。

#include

int main() {
execl("/bin/ls", "ls", "-l", (char *)NULL);
return 0;
}
這樣gcc就不會產生
warning: missing sentinel in function call