FreeBSD中读取Ethernet Address的一种可行方法

#include <net/if.h>#include <ifaddrs.h>#include <net/if_dl.h>#include <net/ethernet.h> int main(){    struct ifaddrs *list;    if(getifaddrs(&list) < 0)    {        perror("getifaddrs");        return;    }            struct ifaddrs *cur;            for(cur = list; cur != NULL; cur = cur->ifa_next)    {        if(cur->ifa_addr->sa_family != AF_LINK)            continue;        char *name = cur->ifa_name;        printf(name);printf("\n");        char *addr;        struct sockaddr_dl *sdl;   …

Continue reading ‘FreeBSD中读取Ethernet Address的一种可行方法’ »

Reading "TCP/IP Illustrated Vol 2"

当初想装FreeBSD就是因为看了这套书的缘故(BSD网络实现和FreeBSD还分不清楚)。但是安装不成功,最后把Vol1,Vol3都读完了也没有装好。后来装好了FreeBSD,又没有时间看。现在终于有了些空闲,能够慢慢研究这套书了。 Vol2讲的是实现,也就是把源代码和原理结合起来讲。我一边看一边翻FreeBSD的源代码,发现基本的东西没有变(书上的第一个样例打上去还能编译,改了一下地址还能用~),但是代码量大了很多(那时据说网络部分只有15000行左右~),有些东西删掉了,更多的东西加了进去。 看看源代码的确对理解工作原理有很大的益处…… 但必须要这样的一本书来进行适当的引导,因为…… 代码的数量太多了!