ÀÖÓãµç¾º

½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

C++ÅàÑµÖ®ÍøÂç±à³Ì¸ß¼¶Ó¦Óáªlibnet ʹÓÃÖ¸ÄÏ(Ò»)

¸üÐÂʱ¼ä:2016Äê08ÔÂ24ÈÕ10ʱ33·Ö À´Ô´:ÀÖÓã²¥¿ÍC++ÅàѵѧԺ ä¯ÀÀ´ÎÊý:

¸ÅÊö

ͨ¹ý¡¶Ô­Ê¼Ì×½Ó×ÖʵÀý£º·¢ËÍ UDP Êý¾Ý°ü¡·µÄѧϰ£¬ÎÒÃÇ×é UDP Êý¾Ý°üʱ³£¿¼ÂÇ×Ö½ÚÁ÷˳Ðò¡¢Ð£ÑéºÍ¼ÆËãµÈÎÊÌ⣬ÓÐʱºò»á±È½Ï·±Ëö£¬ÄÇô£¬ÓÐûÓÐÒ»ÖÖ¸ü¼òµ¥µÄ·½·¨ÄØ£¿´ð°¸ÊÇ£º½èÖú libnet º¯Êý¿â¡£

libnet ÊÇÒ»¸öСÐ͵Ľӿں¯Êý¿â£¬Ö÷ÒªÓà C ÓïÑÔд³É£¬ÌṩÁ˵ͲãÍøÂçÊý¾Ý°üµÄ¹¹Ôì¡¢´¦ÀíºÍ·¢Ë͹¦ÄÜ¡£

libnet µÄ¿ª·¢Ä¿µÄÊÇ£º½¨Á¢Ò»¸ö¼òµ¥Í³Ò»µÄÍøÂç±à³Ì½Ó¿ÚÒÔÆÁ±Î²»Í¬²Ù×÷ϵͳµ×²ãÍøÂç±à³ÌµÄ²î±ð£¬Ê¹µÃ³ÌÐòÔ±½«¾«Á¦¼¯ÖÐÔÚ½â¾ö¹Ø¼üÎÊÌâÉÏ¡£

libnet ¿âÌṩµÄ½Ó¿Úº¯Êý°üº¬ 15 ÖÖÊý¾Ý°üÉú³ÉÆ÷ºÍÁ½ÖÖÊý¾Ý°ü·¢ËÍÆ÷£¨IP ²ãºÍÊý¾ÝÁ´Â·²ã£©¡£ 

ÌṩµÄ½Ó¿Úº¯Êý°üÀ¨£º

1£©ÄÚ´æ¹ÜÀí£¨·ÖÅäºÍÊÍ·Å£©º¯Êý
2£©µØÖ·½âÎöº¯Êý
3£©¸÷ÖÖЭÒéÀàÐ͵ÄÊý¾Ý°ü¹¹Ô캯Êý
4£©Êý¾Ý°ü·¢Ëͺ¯Êý£¨IP²ãºÍÁ´Â·²ã£©
5£©Ò»Ð©¸¨Öúº¯Êý£¬Èç²úÉúËæ»úÊý¡¢´íÎ󱨸桢¶Ë¿ÚÁбí¹ÜÀíµÈ
ÏêÇéÇë¿´¡¶libnet º¯ÊýÁÐ±í¡·¡£
libnet µÄ°²×°
Á÷³Ì

ÀûÓÃlibnetº¯Êý¿â¿ª·¢Ó¦ÓóÌÐòµÄ»ù±¾²½Ö裺

1£©Êý¾Ý°üÄÚ´æ³õʼ»¯
2£©¹¹ÔìÊý¾Ý°ü
3£©·¢ËÍÊý¾Ý
4£©ÊÍ·Å×ÊÔ´

ÒÔ·¢ËÍ UDP Êý¾Ý°üΪÀý£¬Á÷³ÌͼÈçÏ£º

ÕâÀïÐèҪעÒâµÄÊÇ×é°üµÄ˳Ðò£¬ÓÉÉϲãÔÙµ½µ×²ã£¬ÕâÀïΪ udp -> ip -> mac£¬²»ÄÜ·´¹ýÀ´¡£


³£Óú¯Êý½éÉÜ

ÒÔϺ¯ÊýµÄʹÓÃÐèÒª°üº¬Í·Îļþ£º libnet.h


libnet_t *libnet_init(int injection_type, char *device, char *err_buf);

¹¦ÄÜ£º

Êý¾Ý°üÄÚ´æ³õʼ»¯¼°»·¾³½¨Á¢

²ÎÊý£º

injection_type£º¹¹ÔìµÄÀàÐÍ
LIBNET_LINK£¬Á´Â·²ã
LIBNET_RAW4£¬ÍøÂç½Ó¿Ú²ã£¨ÍøÂç²ã£©
LIBNET_LINK_ADV£¬Á´Â·²ã¸ß¼¶°æ±¾
LIBNET_RAW4_ADV£¬   ÍøÂç²ã¸ß¼¶°æ±¾
device£ºÍøÂç½Ó¿Ú£¬Èç "eth0"£¬»ò IP µØÖ·£¬Òà¿ÉΪ NULL (×Ô¶¯²éѯËÑË÷)  
err_buf£º´æ·Å³ö´íµÄÐÅÏ¢ 

·µ»ØÖµ£º

³É¹¦£ºÒ»¸ö libnet * ÀàÐ͵ÄÖ¸Õ룬ºóÃæµÄ²Ù×÷¶¼µÃʹÓÃÕâ¸öÖ¸Õë 
ʧ°Ü£ºNULL

void libnet_destroy(libnet_t *l);

¹¦ÄÜ£º

ÊÍ·Å×ÊÔ´

²ÎÊý£º

l£ºlibnet_init() ·µ»ØµÄ libnet * Ö¸Õë

·µ»ØÖµ£º

ÎÞ

char* libnet_addr2name4(u_int32_t in, u_int8_t use_name);

¹¦ÄÜ£º

½«ÍøÂç×Ö½ÚÐòת»»³Éµã·ÖÊ®½øÖÆÊý´®

²ÎÊý£º

in£ºÍøÂç×Ö½ÚÐòµÄ ip µØÖ·        
use_name£º
LIBNET_RESOLVE£¬  ¶ÔÓ¦Ö÷»úÃû
LIBNET_DONT_RESOLVE£¬¶ÔÓ¦µã·ÖÊ®½øÖÆ IPv4 µØÖ·

·µ»ØÖµ£º

³É¹¦£ºµã·ÖÊ®½øÖÆ ip µØÖ· 
ʧ°Ü£ºNULL

u_int32_t libnet_name2addr4(libnet_t *l,  char *host_name,  u_int8_t use_name);

¹¦ÄÜ£º

½«µã·ÖÊ®½øÖÆÊý´®×ª»»ÎªÍøÂç×Ö½ÚÐò ip µØÖ·

²ÎÊý£º

l£ºlibnet_init() ·µ»ØµÄ libnet * Ö¸Õë
host_name£º
LIBNET_RESOLVE£¬  ¶ÔÓ¦Ö÷»úÃû
LIBNET_DONT_RESOLVE£¬¶ÔÓ¦µã·ÖÊ®½øÖÆ IPv4 µØÖ·

·µ»ØÖµ£º

³É¹¦£ºÍøÂç×Ö½ÚÐò ip µØÖ·
ʧ°Ü£º-1

u_int32_t libnet_get_ipaddr4(libnet_t *l);

¹¦ÄÜ£º

»ñÈ¡½Ó¿ÚÉ豸 ip µØÖ·

²ÎÊý£º

l£ºlibnet_init() ·µ»ØµÄ libnet * Ö¸Õë

·µ»ØÖµ£º

³É¹¦£ºÍøÂç×Ö½ÚÐòµÄ ip µØÖ·
ʧ°Ü£º-1

struct libnet_ether_addr* libnet_get_hwaddr(libnet_t *l);

¹¦ÄÜ£º

»ñÈ¡½Ó¿ÚÉ豸Ӳ¼þµØÖ·

²ÎÊý£º

l£ºlibnet_init() ·µ»ØµÄ libnet * Ö¸Õë

·µ»ØÖµ£º

³É¹¦£ºÖ¸Ïò MAC µØÖ·µÄÖ¸Õë
ʧ°Ü£ºNULL

libnet_ptag_t libnet_build_udp(

u_int16_t sp, u_int16_t dp,
u_int16_t len, u_int16_t sum,
u_int8_t *payload, u_int32_t payload_s,
libnet_t *l, libnet_ptag_t ptag);

¹¦ÄÜ£º

¹¹Ôì udp Êý¾Ý°ü

²ÎÊý£º

sp: Ô´¶Ë¿ÚºÅ
dp£ºÄ¿µÄ¶Ë¿ÚºÅ
len£ºudp °ü×ܳ¤¶È
sum£ºÐ£ÑéºÍ£¬ÉèΪ 0£¬libnet ×Ô¶¯Ìî³ä
payload£º¸ºÔØ£¬Îª¸øÓ¦ÓóÌÐò·¢Ë͵ÄÎı¾ÄÚÈÝ£¬Ã»ÓÐÄÚÈÝʱ¿ÉÉèÖÃΪ NULL
payload_s£º¸ºÔس¤¶È£¬¸øÓ¦ÓóÌÐò·¢ËÍÎı¾ÄÚÈݵij¤¶È£¬»òΪ 0
l£ºlibnet_init() ·µ»ØµÄ libnet * Ö¸Õë
ptag£ºÐ­Òé±ê¼Ç£¬µÚÒ»´Î×éеķ¢ËͰüʱ£¬ÕâÀïд 0£¬Í¬Ò»¸öÓ¦ÓóÌÐò£¬ÏÂÒ»´ÎÔÙ×é°üʱ£¬Õâ¸öλÖõÄֵд´Ëº¯ÊýµÄ·µ»ØÖµ¡£

·µ»ØÖµ£º


³É¹¦£ºÐ­Òé±ê¼Ç

ʧ°Ü£º-1

libnet_ptag_t libnet_build_tcp(

u_int16_t sp, u_int16_t dp,
u_int32_t seq, u_int32_t ack,
u_int8_t control, u_int16_t win
u_int16_t sum, u_int16_t urg,
u_int16_t len, u_int8_t *payload,
u_int32_t payload_s, libnet_t *l,
libnet_ptag_t ptag );


±¾ÎİæÈ¨¹éÀÖÓã²¥¿ÍC++ÅàѵѧԺËùÓУ¬»¶Ó­×ªÔØ£¬×ªÔØÇë×¢Ã÷×÷Õß³ö´¦¡£Ð»Ð»£¡
×÷ÕߣºÀÖÓã²¥¿ÍC/C++ÅàѵѧԺ
Ê×·¢£ºhttp://www.itcast.cn/c/ 

0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿