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

linux sock_rawԭʼÌ×½Ó×Ö±à³Ì

sock_rawԭʼÌ×½Ó×Ö±à³Ì¿ÉÒÔ½ÓÊÕµ½±¾»úÍø¿¨ÉϵÄÊý¾ÝÖ¡»òÕßÊý¾Ý°ü,¶ÔÓë¼àÌýÍøÂçµÄÁ÷Á¿ºÍ·ÖÎöÊǺÜÓÐ×÷ÓõÄ.Ò»¹²¿ÉÒÔÓÐ3ÖÖ·½Ê½´´½¨ÕâÖÖsocket
 
1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)·¢ËͽÓÊÕipÊý¾Ý°ü
2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))·¢ËͽÓÊÕÒÔÌ«ÍøÊý¾ÝÖ¡
3.socket(AF_INET, SOCK_PACKET, htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))¹ýʱÁË,²»ÒªÓð¡
 
Àí½âÒ»ÏÂSOCK_RAWµÄÔ­Àí, ±ÈÈçÍø¿¨ÊÕµ½ÁËÒ»¸ö 14+20+8+100+4 µÄudpµÄÒÔÌ«ÍøÊý¾ÝÖ¡.
 
Ê×ÏÈ,Íø¿¨¶Ô¸ÃÊý¾ÝÖ¡½øÐÐÓ²¹ýÂË(¸ù¾ÝÍø¿¨µÄģʽ²»Í¬»áÓв»Í¬µÄ¶¯×÷,Èç¹ûÉèÖÃÁËpromisc»ìÔÓģʽµÄ»°,Ôò²»×öÈκιýÂËÖ±½Ó½»¸øÏÂÒ»²ãÊäÈëÀý³Ì,·ñÔò·Ç±¾»úmac»òÕ߹㲥mac»á±»Ö±½Ó¶ªÆú).°´ÕÕÉÏÃæµÄÀý×Ó,Èç¹û³É¹¦µÄ»°,»á½øÈëipÊäÈëÀý³Ì.µ«ÊÇÔÚ½øÈëipÊäÈëÀý³Ì֮ǰ,ϵͳ»á¼ì²éϵͳÖÐÊÇ·ñÓÐͨ¹ýsocket(AF_PACKET, SOCK_RAW, ..)´´½¨µÄÌ×½Ó×Ö.Èç¹ûÓеĻ°²¢ÇÒЭÒéÏà·û,ÔÚÕâ¸öÀý×ÓÖоÍÊÇÐèÒªETH_P_IP»òÕßETH_P_ALLÀàÐÍ.ϵͳ¾Í¸øÿ¸öÕâÑùµÄsocket½ÓÊÕ»º³åÇø·¢ËÍÒ»¸öÊý¾ÝÖ¡¿½±´.È»ºó½øÈëÏÂÒ»²½.
 
Æä´Î,½øÈëÁËipÊäÈëÀý³Ì(ip²ã»á¶Ô¸ÃÊý¾Ý°ü½øÐÐÈí¹ýÂË,¾ÍÊǼì²éУÑé»òÕ߶ªÆú·Ç±¾»úip»òÕ߹㲥ipµÄÊý¾Ý°üµÈ,¾ßÌåÒª²Î¿¼Ô´´úÂë),Àý×ÓÖоÍÊÇÈç¹û³É¹¦µÄ»°»á½øÈëudpÊäÈëÀý³Ì.µ«ÊÇÔÚ½»¸øudpÊäÈëÀý³Ì֮ǰ,ϵͳ»á¼ì²éϵͳÖÐÊÇ·ñÓÐͨ¹ýsocket(AF_INET, SOCK_RAW, ..)´´½¨µÄÌ×½Ó×Ö.Èç¹ûÓеĻ°²¢ÇÒЭÒéÏà·û,ÔÚÕâ¸öÀý×ÓÖоÍÊÇÐèÒªIPPROTO_UDPÀàÐÍ.ϵͳ¾Í¸øÿ¸öÕâÑùµÄsocket½ÓÊÕ»º³åÇø·¢ËÍÒ»¸öÊý¾ÝÖ¡¿½±´.È»ºó½øÈëÏÂÒ»²½.
 
×îºó,½øÈëudpÊäÈëÀý³Ì ...
 
ps:Èç¹ûУÑéºÍ³ö´íµÄ»°,Äں˻áÖ±½Ó¶ªÆú¸ÃÊý¾Ý°üµÄ.¶ø²»»á¿½±´¸øsock_rawµÄÌ×½Ó×Ö,ÒòΪУÑéºÍ¶¼³ö´íÁË,Êý¾Ý¿Ï¶¨ÓÐÎÊÌâµÄ°üÀ¨ËùÓÐÐÅÏ¢¶¼Ã»ÓÐÒâÒåÁË.
 
½øÒ»²½·ÖÎöËûÃǵÄÄÜÁ¦.
1. socket(AF_INET, SOCK_RAW, IPPROTO_UDP);
ÄÜ:¸ÃÌ×½Ó×Ö¿ÉÒÔ½ÓÊÕЭÒéÀàÐÍΪ(tcp udp icmpµÈ)·¢Íù±¾»úµÄipÊý¾Ý°ü,´ÓÉÏÃæ¿´µÄ¾ÍÊÇ20+8+100.
²»ÄÜ:²»ÄÜÊÕµ½·Ç·¢Íù±¾µØipµÄÊý¾Ý°ü(ipÈí¹ýÂ˻ᶪÆúÕâЩ²»ÊÇ·¢Íù±¾»úipµÄÊý¾Ý°ü).
²»ÄÜ:²»ÄÜÊÕµ½´Ó±¾»ú·¢ËͳöÈ¥µÄÊý¾Ý°ü.
·¢Ë͵Ļ°ÐèÒª×Ô¼º×éÖ¯tcp udp icmpµÈÍ·²¿.¿ÉÒÔsetsockoptÀ´×Ô¼º°ü×°ipÍ·²¿
ÕâÖÖÌ×½Ó×ÖÓÃÀ´Ð´¸öping³ÌÐò±È½ÏÊʺÏ
     
2. socket(PF_PACKET, SOCK_RAW, htons(x)); 
Õâ¸öÌ×½Ó×ֱȽÏÇ¿´ó,´´½¨ÕâÖÖÌ


Ïà¹ØÎĵµ£º

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâƪ·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´ËתÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨Õâƪ²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

Linux ½Å±¾±àд»ù´¡(¶þ)

1.1.5 ShellÃüÁîºÍÁ÷³Ì¿ØÖÆ
ÔÚshell½Å±¾ÖпÉÒÔʹÓÃÈýÀàÃüÁ
1)Unix ÃüÁî:
ËäÈ»ÔÚshell½Å±¾ÖпÉÒÔʹÓÃÈÎÒâµÄunixÃüÁµ«ÊÇ»¹ÊÇÓÉһЩÏà¶Ô¸ü³£ÓõÄÃüÁî¡£ÕâЩÃüÁîͨ³£ÊÇÓÃÀ´½øÐÐÎļþºÍÎÄ×Ö²Ù×÷µÄ¡£
³£ÓÃÃüÁîÓï·¨¼°¹¦ÄÜ
echo "some text": ½«ÎÄ×ÖÄÚÈÝ´òÓ¡ÔÚÆÁÄ»ÉÏ
ls: ÎļþÁбí
wc –l filewc -w filewc -c fi ......

Linux ½Å±¾±àд»ù´¡(Èý)

3) Á÷³Ì¿ØÖÆ
1.if
"if" ±í´ïʽ Èç¹ûÌõ¼þΪÕæÔòÖ´ÐÐthenºóÃæµÄ²¿·Ö£º
if ....; then
....
elif ....; then
....
else
....
fi
´ó¶àÊýÇé¿öÏ£¬¿ÉÒÔʹÓòâÊÔÃüÁîÀ´¶ÔÌõ¼þ½øÐвâÊÔ¡£±ÈÈç¿ÉÒԱȽÏ×Ö·û´®¡¢ÅжÏÎļþÊÇ·ñ´æÔÚ¼°ÊÇ·ñ¿É¶ÁµÈµÈ…
ͨ³£ÓÃ" [ ] "À´±íʾÌõ¼þ²âÊÔ¡£×¢ÒâÕâÀïµÄ¿Õ¸ñºÜÖØÒª¡£ÒªÈ·±£· ......

¹Ø±ÕLinux²Ù×÷ϵͳ¿ØÖÆ̨Ï·äÃùÉùµÄ·½·¨

ÏÖÏó˵Ã÷£º
    ʹÓÃLinux¿ØÖÆ̨½øÐÐһЩ²Ù×÷£¬ÓÐʱ»áͨ¹ýTab¼ü²¹È«ÃüÁҲÓÐʱͨ¹ýBackspaceɾ³ý×Ö·ûµÈµÈ²Ù×÷£¬ÕâʱÈç¹û³öÏÖ´íÎó£¬ÏµÍ³»á·¢³ö“µÎµÎ”µÄÏìÉù£¬ºÜ´Ì¶ú£»
½â¾ö·½·¨£º
1. ÔÚÃüÁîÐÐÏÂÊäÈë xset b off

£¬¿ÉÒÔÁÙʱȥµô´íÎóÌáʾÉùÒô£¬µ«Ï´ÎÖØÆôºóÒÀ¾É»áÓУ»
2. °ÑÃüÁî
xset ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ