[ת]ÉîÈëLinuxÍøÂçºËÐĶÑÕ»
´´½¨Ê±¼ä£º2003-08-22
ÎÄÕÂÌá½»£ºraodan (raod_at_30san.com)
==Phrack Inc.==
¾í±ê 0x0b, ÆÚ¿¯ºÅ 0x3d, Phile #0x0d of 0x0f
|=---------------------=[ ÉîÈëLinuxÍøÂçºËÐĶÑÕ» ]=-----------------------=|
|=-----------------------------------------------------------------------=|
|=------------------=[ bioforge <alkerr@yifan.net> ]=--------------------=|
|=------------------------=[ ·Òë : raodan ]=----------------------------=|
Ŀ¼
1 - ¼ò½é
1.1 - ±¾ÎÄÉæ¼°µÄÄÚÈÝ
1.2 - ±¾ÎIJ»Éæ¼°µÄÄÚÈÝ
2 - ¸÷ÖÖNetfilter hook¼°ÆäÓ÷¨
2.1 - LinuxÄں˶ÔÊý¾Ý°üµÄ´¦Àí
2.2 - Netfilter¶ÔIPv4µÄhook
3 - ×¢²áºÍ×¢ÏúNetfilter hook
4 - Netfilter »ù±¾µÄÊý¾Ý±¨¹ýÂ˼¼Êõ[1]
4.1 - ÉîÈëhookº¯Êý
4.2 - »ùÓÚ½Ó¿Ú½øÐйýÂË
4.3 - »ùÓÚµØÖ·½øÐйýÂË
4.4 - »ùÓÚTCP¶Ë¿Ú½øÐйýÂË
5 - Netfilter hookµÄÆäËü¿ÉÄÜÓ÷¨
5.1 - Òþ²ØºóÃŵÄÊØ»¤½ø³Ì
5.2 - »ùÓÚÄں˵ÄFTPÃÜÂëÐá̽Æ÷
5.2.1 - Ô´´úÂë : nfsniff.c
5.2.2 - Ô´´úÂë : getpass.c
6 - ÔÚLibpcapÖÐÒþ²ØÍøÂçͨÐÅ
6.1 - SOCK_PACKET¡¢SOCK_RAWÓëLibpcap
6.2 - ¸øÀÇÅûÉÏÑòƤ
7 - ½áÊøÓï
A - ÇáÁ¿¼¶·À»ðǽ
A.1 - ¸ÅÊö
A.2 - Ô´´úÂë : lwfw.c
A.3 - Í·Îļþ : lwfw.h
B - µÚ6½ÚÖеÄÔ´´úÂë
--[ 1 - ¼ò½é
±¾ÎĽ«ÏòÄãչʾ£¬LinuxµÄÍøÂç¶ÑÕ»µÄһЩ¹ÖÒìÐÐΪ£¨²¢²»Ò»¶¨ÊÇÈõµã£©ÈçºÎ±»ÓÃÓÚа¶ñµÄ»òÕßÊÇÆäËüÐÎÐÎɫɫµÄÄ¿µÄ¡£ÔÚÕâÀォҪÌÖÂÛµÄÊǽ«±íÃæÉÏ
¿´ÆðÀ´ºÏ·¨µÄNetfilter hookÓÃÓÚºóÃŵÄͨÐÅ£¬ÒÔ¼°Ò»ÖÖÊ¹ÌØ¶¨µÄÍøÂçͨÐÅÔÚÔËÐÐÓÚ±¾»úµÄ»ùÓÚLibpcapµÄÐá̽Æ÷ÖÐÏûÉùÄä¼£µÄ¼¼Êõ¡£
NetfilterÊÇLinux
2.4Äں˵ÄÒ»¸ö×Óϵͳ£¬NetfilerʹµÃÖîÈçÊý¾Ý°ü¹ýÂË¡¢ÍøÂçµØÖ·×ª»»(NAT)ÒÔ¼°ÍøÂçÁ¬½Ó¸ú×Ùµ
Ïà¹ØÎĵµ£º
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
linuxÐźŻúÖÆ
ÐźÅÌṩÁËÒ»ÖÖ֪ͨ½ø³Ìϵͳʼþ·¢ÉúµÄ»úÖÆ£¬ËüÒ²ÊÇ×÷ΪÓû§½ø³ÌÖ®¼äͨÐźÍͬ²½µÄ
Ò»ÖÖÔʼ»úÖÆ¡£ÔÚ½ø³ÌÇ¨ÒÆµÄÇé¿öÏ£¬ÈçºÎ´¦ÀíÐźÅÄØ£¿Õⲿ·Ö½éÉÜÁËMOSIXϵͳ¶ÔÐźÅ
»úÖÆµÄ´¦Àí¡£
LINUXÐźŻúÖÆ
ÐźÅÊÇÒì²½µÄ½ø³Ì¼äͨѶ»úÖÆ,ÊÇÔÚÈí¼þ²ã´ÎÉ϶ÔÖжϻúÖÆµÄÒ»ÖÖÄ£Äâ¡£LINUXÄں˵ÄÐÅ
ºÅ» ......
linux—selectÏê½â
selectϵͳµ÷ÓÃʱÓÃÀ´ÈÃÎÒÃǵijÌÐò¼àÊÓ¶à¸öÎļþ¾ä±úµÄ״̬±ä»¯µÄ¡£³ÌÐò»áÍ£ÔÚselectÕâÀïµÈ´ý£¬Ö±µ½±»¼àÊÓµÄÎļþ¾ä±úÓÐÒ»¸ö»ò¶à¸ö·¢ÉúÁË״̬¸Ä±ä¡£
¹ØÓÚÎļþ¾ä±ú£¬Æäʵ¾ÍÊÇÒ»¸öÕûÊý£¬Í¨¹ýsocketº¯ÊýµÄÉùÃ÷¾ÍÃ÷°×ÁË£º
int socket(int domain, int type, int protocol);
ÎÒÃÇ×îÊìϤµÄ¾ä±úÊÇ0¡¢1¡¢2 ......
linux¿âÎļþ±àдÈëÃÅ
Ò»¡¢ÎªÊ²Ã´ÒªÊ¹ÓÿâÎļþ
ÎÒÃÇÔÚʵ¼Ê±à³Ì¹¤×÷Öп϶¨»áÓöµ½ÕâÖÖÇé¿ö£ºÓм¸¸öÏîÄ¿ÀïÓÐһЩº¯ÊýÄ£¿éµÄ¹¦ÄÜÏàͬ£¬
ʵÏÖ´úÂëÒ²Ïàͬ£¬Ò²ÊÇÎÒÃÇËù˵µÄÖØ¸´´úÂë¡£±ÈÈ磬ºÜ¶àÏîÄ¿Àï¶¼ÓÐÒ»¸öÓû§ÑéÖ¤µÄ¹¦ÄÜ¡£
´úÂë¶ÎÈçÏ£º
//UserLogin.hÎļþ£¬Ìṩº¯ÊýÉùÃ÷
int IsValidUser(char ......
Linux initial RAM disk (initrd) overview
Learn about its anatomy, creation, and use in the Linux boot process
M. Tim Jones
(mtj@mtjones.com
), Consultant Engineer, Emulex
M. Tim Jones is an embedded software architect and the author of GNU/Linux Application Programming
, AI Application Prog ......