linuxÏÂÀûÓÃPF_PACKETÐÒé×å²¶°ü·½·¨
ÏÈ
·ÅÒ»¶ÎʾÀý³ÌÐò£¬Õâ¶Î³ÌÐòÎÒÔÚRH9ºÍAS4ϱàÒëͨ¹ý£¬³ÌÐò¹¦ÄܾÍÊÇÓôÓ2.2Äں˼ÓÈëµÄPF_PACKETÐÒé×åÀ´½øÐеײãÊý¾Ý°ü²¶»ñ²¢ÏÔʾ¡£
PF_PACKETÐÒé×åÊÇÓëϵͳTCP/IPÐÒéÕ»²¢ÐеÄͬ¼¶±ðÄ£¿é£¬¼´´ÓPF_PACKETÐÒé×åµÃµ½µÄÊý¾Ý°üÊÇûÓо¹ýϵͳTCP/IPÐÒéÕ»´¦Àí
µÄ¡£¶øÇÒ£¬Í¨¹ýÉèÖûìÔÓģʽ£¬¿ÉÒÔºÜÈÝÒ×µÄʵÏÖsniffer¡£
#include<errno.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/socket.h>
#include<fcntl.h>
#include<netpacket/packet.h>
#include<net/if.h>
#include<net/if_arp.h>
#include<netinet/in.h>
#include<netinet/ip.h>
#include<linux/if_ether.h>
#include<arpa/inet.h>
#include<sys/ioctl.h>
#include<unistd.h>
#define RED "\E[31m\E[1m"
#define GREEN "\E[32m\E[1m"
#define YELLOW "\E[33m\E[1m"
#define BLUE "\E[34m\E[1m"
#define NORMAL "\E[m"
int Get_IfaceIndex(int fd, const char* interfaceName)
{
struct ifreq ifr;
if (interfaceName == NULL)
{
return -1;
}
memset(&ifr, 0, sizeof(ifr));
strcpy(ifr.ifr_name, interfaceName);
if (ioctl(fd, SIOCGIFINDEX, &ifr) == -1)
{
printf("RED ioctl error\n");
return -1;
}
return ifr.ifr_ifindex;
}
int set_Iface_promisc(int fd, int dev_id)
{
struct packet_mreq mr;
memset(&mr,0,sizeof(mr));
mr.mr_ifindex = dev_id;
mr.mr_type = PACKET_MR_PROMISC;
if(setsockopt(fd, SOL_PACKET, PACKET_ADD_MEMBERSHIP,&mr,sizeof(mr))==-1)
{
fprintf(stderr,"GREEN set promisc failed! \n");
return -1;
}
return 0;
}
void usage(char *exename)
{
fprintf(stderr,RED"%s <interface> <packets num to capture>\n"NORMAL, exename);
}
int main(int argc, char **argv)
{
int listen_fd;
int ipak=0,maxk=0;
char buffer
[8192];
int frmlen;
struct sock
Ïà¹ØÎĵµ£º
Linux ´®¿Ú±à³ÌµÄһЩÎÊÌâ½â¾ö
LinuxÏ´®¿Ú±à³ÌµÄÎÄÕÂÍøÉÏÊÇÂúÌì·É£¬µ«´ó¶¼Êdzö×ÔһƪÎÄÕ£¬¶øÇÒдµÄ¶¼ÊÇЩ»ù±¾µÄ²Ù×÷£¬Ïñ¿ØÖÆRTS/CTSµÈ´®¿ÚÒý½Å״̬£¬½ÓÊÕ·¢ËͶþ½øÖÆÊý¾ÝµÈ£¬¶¼Ã»ÓкܺõÄ˵Ã÷£¬ÎÒÔÚʹÓÃÖÐÓöµ½ÁËЩÎÊÌ⣬д³öÀ´£¬Ï£ÍûÄܶԴó¼ÒÓÐËù°ïÖú£¬ÉÙ×ßÍä·£¬ºÇºÇ£¡
ÎÒʹÓõIJÙ×÷ϵͳÊÇRedhat9£¬gcc°æ±¾ÊÇ3.2.2
......
(°Ë)´´ÐÂÆª¡¡
¡¡¡¡LinuxÊÇ×ÔÓÉÈí¼þ£¬¶ø×ÔÓÉÈí¼þºÍ·Ç×ÔÓÉÈíµÄÇø±ðÔÚÓÚ£º¡¡
¡¡¡¡1.¡¡×ÔÓÉÈí¼þÊÇ¿ª·ÅµÄ£¬³ÉǧÉÏÍòµÄÈË¿ÉÒÔ¼ì²éÕâ¸öÈí¼þ£¬¿ìËÙµØÕÒµ½²¢ÐÞ¸ÄÆä´íÎóÂë¡£¡¡
¡¡¡¡2.¡¡×îÖÕÓû§¿ÉÒÔ°´ÕÕ×Ô¼ºµÄÒâÔ¸×Ô¶¨Òå×ÔÓÉÈí¼þ£¬ÓÐÌØÊâÐèÒªµÄÓû§Ò²¿ÉÒÔÍêÈ«°´ÕÕËûÃÇÈÏΪºÏÊʵķ½Ê½¶¨ÖÆ×Ô¼ºµÄLinux¡£¡¡
¡¡¡¡3.¡¡×ÔÓÉÈí ......
linuxÍøÖ·¾«Ñ¡
http://hi.baidu.com/digast/blog/item/31cd94efba1348ebcf1b3ed3.html
2008-04-01 14:57
¹úÍâ
¡¡¡¡http://lwn.net/
¡¡¡¡http://www.tldp.org/
¡¡¡¡https://rhn.redhat.com
¡¡¡¡http://www.justlinux.com/
¡¡¡¡http://www.linuxtoday.com/
¡¡¡¡http://www.linuxquestions.org/
¡¡¡¡http://ww ......
ѧϰlinuxÒ»Äê¶àÁË£¬»ù±¾¾ÍÊÇÒ»¸ö“ϹÕû££>³öÎÊÌ⣣>°Ù¶È/Google££>½â¾öÎÊÌ⣣>¼ÌÐøÏ¹Õû"µÄÑ»·¡£ºÜ¸ÐÐ»ÍøÉÏÄÇô¶àÈ˶¼ÄܰÑ×Ô¼ºµÄ¾Àú¡¢¾Ñé¸ú´ó¼Ò·ÖÏí£¬ËùÒÔÒ»Ö±¶¼ÓаÑ×Ô¼ºÅöµ½µÄÎÊÌâ¼°½â¾ö°ì·¨¸ú´ó¼Ò·ÖÏí£¬Ï£Íû¶Ô´ó¼ÒÄÜÓÐËù°ïÖú¡£
ºÃ£¬²»¶à·Ï»°ÁË¡ ......
Õ⼸Ìì×°ÁËUbuntu²Å·¢ÏÖ£¬XmarkÔç¾Í±»ºÓзǯÁË¡£ÄѹÖ֮ǰÊéǩһֱ´«²»ÉÏÈ¥¡£¡£ÐÒºÃwin7»¹Ã»É¾£¬²»È»ÎÒÕû¸öÔµÄÊéÇ©¶¼Ã»ÁË¡£
Ôڴ˼ǼһÏÂÆÆÇ½µÄ·½·¨£º
sudo emacs /etc/hosts
Ìí¼Ó
64.147.188.86 www.xmark.com
64.147.188.92 api.xmarks.com
64.147.188.89 login.xmarks.com
64.147.188.87 sync.xmarks.com
......