Linux·¢ËÍarpÇëÇóÓë½ÓÊÕarpÏìÓ¦
Linux ÖлñµÃ±¾»úÍø¿¨MACµØÖ·ºÜ¼òµ¥£¬ioctl()¾ÍOK¡£¿ÉÈçºÎ»ñµÃ¾ÖÓòÍøÆäËûÖ÷»úµÄMACµØÖ·ÄØ…Á´Â·²ã¹ã²¥ARPÇëÇó£¬È»ºó½ÓÊÕARPÏìÓ¦¡£ÊµÏÖ½é¸ö¹¦ÄÜÆäʵÒÑÓÐÏÖ³ÉÈý·½¿â¿ÉÓã¬Èçlibnet¡£²»¹ýÏë¼ÓÉî¶ÔÐÒéµÄÀí½âºÍLinuxÍøÂç±à³ÌAPIµÄÀí½â£¬jiayi »¹ÊǾö¶¨ÓÃLinuxµÄPF_PACKET×Ô¼ºÊµÏÖ£¬¸Ä°¡¸Ä£¬ÖÕÓڳɹ¦¡«ÒÔÏÂÊÇ´óÌå˼·
1. ΪÊý¾Ý±¨·ÖÅä¿Õ¼ä£¬´´½¨ÏàÓ¦µÄ½á¹¹Ìå req£¬arp Êý¾Ý±¨µÄÖ¡¸ñʽÈçͼ
2. ´´½¨ PF_PACKET ÔʼÌ×½Ó×Ö£¬·¢ËÍÌ×½Ó×ÖΪ reqfd£¬½ÓÊÕÌ×½Ó×ÖΪ recvfd
3. ÌîдÁ´Â·²ãͨÓýṹÌå reqsa
3. get_ifi()»ñÈ¡±¾»úÍøÂç½Ó¿ÚÊý¾Ý£¬ÌîдҪ·¢Ë͵ÄARPÊý¾Ý±¨ req ½á¹¹Ì壬sendto()·¢ËÍ
4. Ñ»·recvfrom()½ÓÊÕARPÏìÓ¦£¬Â˵ô¾Óɱ¾µØ½Ó¿ÚµÄÆäËûARPÊý¾Ý±¨
·¢ËÍARPÇëÇóÄÜ×öµÄʲ»½ö½ö»ñÈ¡MACµØÖ·°É…ÆäËû“ÓÐÒâÒ唵ÄÊÂÒ²¿ÉÒÔ³¢ÊÔÒ»ÏÂÏÂ……ÏÂÃæÊÇ´úÂë
C code
/**
* @send_arp.c
* @This software is intended to be used as a example to show how to send and receive arp request with Linux * PF_PACKET interface
* @Author£ºjiayi,http://www.jiayii.com
**/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <net/if.h>
#include <sys/types.h>
#include <asm/types.h>
#include <features.h> /* ÐèÒªÀïÃæµÄ glibc °æ±¾ºÅ */
#if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1
#include <netpacket/packet.h>
#include <net/ethernet.h> /* Á´Â·²ã£¨L2£©ÐÒé */
#else
#include <asm/types.h>
#include <linux/if_packet.h>
#include <linux/if_ether.h> /* Á´Â·²ãÐÒé */
#endif
#include <netinet/if_ether.h>
#define INLEN 4
#define MAC_BCAST_ADDR (uint8_t *) "\xff\xff\xff\xff\xff\xff"
void usage_quit(char *arg0);
int get_ifi(char *
Ïà¹ØÎĵµ£º
1) .tar
½âѹ£ºtar xvf filename.tar
½âѹ£ºtar xjvf filename.tar.bz2
½âѹ£ºtar xzvf filename.tar.gz
´ò°ü£ºtar cvf filename.tar dirname1 dirname2
´ò°ü£ºtar czvf filename.tar.gz dirname1 dirname2
2) .gzºÍ.Z
½âѹ£ºgunzip filename.tar.gz
½âѹ£ºgunzip filename.Z
´ò°ü£ºgzip  ......
Æô¶¯94,95µÄnfs·þÎñ
·½·¨Ò»:µ½/etc/init.d/ÖÐÔËÐÐ ./nfs start
µ½/etc/rc.d/rc3.d²ì¿´¿ØÖÆ̨·þÎñ(K×Öĸ¿ªÍ·µÄ»°ÎªÎ´Æô¶¯,SΪÆô¶¯,Ö±½Ó¸ÄÃû×ÖÒ²¿ÉÒÔ½«·þÎñÆô¶¯)
·½·¨¶þ:´òÃüÁîsetup,½«System serviceÖеÄnfs´ò¹´,È»ºóÍ˳ö ......
ÐźÅÖ¸¶¨´¦Àíº¯Êý
void (*signal (int signum,void (*handle)(int)))(int);ÉèÖÃij¸öÐźŵĴ¦Àí·½·¨
int sigaction(int signum,const struct sigaction *act,struct sigaction *oldact);ÓÃÓÚ¼ì²é»ò¸Ä±ä½ø³ÌÔÚ½Óµ½ÐźÅʱµÄ¶¯×÷
Ðźż¯²Ù×÷º¯Êý
static inline void sigaddset(sigset_t *set,int _sig);
static inline voi ......
Ê®ÔÂÄ©ubuntu9.10·¢²¼£¬Á¢¿Ì»»ÉÏÁËеģ¬ÎÒÏë×Ô¼º²¢²»ÊÇÔÚ¿ÌÒâ×·Çóеİ汾¡£Ö»ÊÇÒÔÇ°ÔÚµçÄÔÉÏÓÃwubi×°µÄÄǸöylmfµÄÊÇÔÚ²»ºÃ
Óã¬firfoxÖ»ÄÜÊÇ3.0°æ±¾µÄ£¬×ÔÐбàÒëÈí¼þ»¹²»»á£¬ÓÃwine×°Ò»¸öie¾ÓÈ»Óõ½µçÄÔËÀ»ú£¬ÊÇÔڸоõ²»µ½linuxÓÐʲôºÃµÄ£¬¸üÈÃÈËÄÑÊܵÄÊÇ×Ö
ÌåÏÔʾЧ¹û²î£¬firfox
operaʹÓÃÒ»»ÎÒ»»ÎµÄ£¬ËÙ¶ÈÌ«Âý£¬Õû¸ ......
Ç°ÑÔ£¬Linux/Unix ÉçÇøµÄ°æ¿é²»ÈÈÄÖ£¬ÐÂÊÖÌ«¶à£¬¸ßÊÖ̫棬ż°Ñ×Ô¼ºÕ⼸ÄêµÄLinuxѧϰµÄ¹ý³Ì½²½²£¬Ï£ÍûÄܸø´ó¼ÒÓеã°ïÖú£¬
Òýµ¼³õѧÕßѧϰµÄ·½Ïò£¬ÉÙ×ßÍä·£¬Ê°빦±¶£¬Í¬Ê±Ò²ÊÇÅ×שÒýÓñ£¬Çë¹ýÀ´ÈËÈÈÁÒ·¢ÑÔ¡£
1. Ê×ÏÈÊìϤ Linux
½¨ÒéÔÚ Windows ÉÏ°²×° VMware Workstation 6.5.0(ÒÔϼò³ÆVM£©, ÏÂÔØÖÖ×ÓÔÚ ......