Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linuxϼ¸Àý×¥°ü³ÌÐò´úÂë

×¥°ü³ÌÐò1 grub_allpacket.c
#include <stdio.h>
#include <string.h>
#include <errno.h> 
#include <unistd.h>
#include <sys/socket.h>
#include <sys/types.h> 
#include <linux/in.h>
#include <linux/if_ether.h>
#include <net/if.h>
#include <sys/ioctl.h>
#include <stdlib.h>
int main(int argc, char **argv) {
   int sock, n,i;
   char buffer[2048];
   unsigned char *iphead, *ethhead;
   struct ifreq ethreq;
 
   if ( (sock=socket(PF_PACKET, SOCK_RAW,
                     htons(ETH_P_IP)))<0) {
     perror("socket");
     exit(1);
   }
   /* Set the network card in promiscuos mode */
   strncpy(ethreq.ifr_name,"eth0",IFNAMSIZ);
   if (ioctl(sock,SIOCGIFFLAGS,&ethreq)==-1) {
     perror("ioctl");
     close(sock);
     exit(1);
}
   ethreq.ifr_flags|=IFF_PROMISC;
   if (ioctl(sock,SIOCSIFFLAGS,&ethreq)==-1) {
     perror("ioctl");
     close(sock);
     exit(1);
   }
 
   while (1) {
     printf("----------\n");
     n = recvfrom(sock,buffer,2048,0,NULL,NULL);
     printf("%d bytes read\n",n);
     printf("the frame content is :\n");
     for(i=0;i<n;)
 {
 printf("%02x",(unsigned char)buffer[i]);
 fflush(stdout);
 i=i+1;
 if(i%8==0)
  printf("\n");
 else
  printf(":");
 }
     printf("\n");
     /* Check to see if the packet contains at least
&nbs


Ïà¹ØÎĵµ£º

[תÌû]LinuxÇý¶¯¿ª·¢Ñ§Ï°µÄһЩ±ØÒª²½Öè

 1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......

LinuxÏÂÎÞ·¨mount±¾»úIPµÄ½â¾ö·½·¨£º

ÉèÖÃdsnºóËäÈ»ÐéÄâ»ú¿ÉÒÔÉÏÍøÁË£¬µ«ÊÇÓû§Ãû±ä³ÉÁËbogon£¬¶ø²»ÊÇ֮ǰµÄlocalhost£¬È¥µôDNSºóÖØÆôÐéÄâ»ú¾ÍÓÖ±ä³ÉÁËlocalhost
È»ºó¾Í¿ÉÒÔmount±¾»úÁË
»¹ÓÐÒ»ÖÖ·½·¨£º
hostname ÏÔʾµ±Ç°Ö÷»úÃû
hostname localhost ÉèÖõ±Ç°Ö÷»úÃûΪlocalhost
¹À¼ÆÒ²¿ÉÒÔ½â¾öÉÏÊö²»ÄÜmountµÄÎÊÌâ¡£ ......

Linux Assembly "Hello World" Tutorial, CS 200

 
by Bjorn Chambless
Introduction
The following is designed familiarize the reader with programming in x86 (AT&T
style, that produced by gcc) assembly under Linux and how to interface assembly
and higher-level language code (i.e. C). The tutorial will also briefly cover
debugging yo ......

linux Ðźűí

Ãû³Æ             Ä¬È϶¯×÷    ËµÃ÷
SIGHUP    ÖÕÖ¹½ø³Ì    ÖÕ¶ËÏß·¹Ò¶Ï
SIGINT   ÖÕÖ¹½ø³Ì    ÖжϽø³Ì
SIGQUIT  ½¨Á¢COREÎļþ   ÖÕÖ¹½ø³Ì£¬²¢ÇÒÉú³ÉcoreÎļþ
SIGILL ......

Linux֮·ΪºÎÈç´Ë¼èÄÑ£¿






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
       ÔÚ±¾ÎÄÖУ¬Ëùν“
Linux
֮·”ÊÇָͨÏòÍêÃÀ
Linux
×ÀÃæµÄµÀ·¡£Ì¸Æð
Linux
×ÀÃ棬ÓÐÈ˲»Ð¼Ò»¹Ë£¬àÍÖ®ÒԱǡ£Êµ¼ÊÇé¿öÈçºÎ£¿
 
     11
ÔÂ
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ