¸üÐÂʱ¼ä:2016Äê08ÔÂ24ÈÕ10ʱ39·Ö À´Ô´:ÀÖÓã²¥¿ÍC++ÅàѵѧԺ ä¯ÀÀ´ÎÊý:
¹¦ÄÜ£º
¹¹Ôì tcp Êý¾Ý°ü
²ÎÊý£º
sp£ºÔ´¶Ë¿ÚºÅ
dp£ºÄ¿µÄ¶Ë¿ÚºÅ
seq£ºÐòºÅ
ack£ºack ±ê¼Ç
control£º¿ØÖƱê¼Ç
win£º´°¿Ú´óС
sum£ºÐ£ÑéºÍ£¬ÉèΪ 0£¬libnet ×Ô¶¯Ìî³ä
urg£º½ô¼±Ö¸Õë
len£ºtcp°ü³¤¶È
payload£º¸ºÔØ£¬Îª¸øÓ¦ÓóÌÐò·¢Ë͵ÄÎı¾ÄÚÈÝ£¬¿ÉÉèÖÃΪ NULL
payload_s£º¸ºÔس¤¶È£¬»òΪ 0
l£ºlibnet_init() ·µ»ØµÄ libnet * Ö¸Õë
ptag£ºÐÒé±ê¼Ç£¬µÚÒ»´Î×éеķ¢ËͰüʱ£¬ÕâÀïд 0£¬Í¬Ò»¸öÓ¦ÓóÌÐò£¬ÏÂÒ»´ÎÔÙ×é°üʱ£¬Õâ¸öλÖõÄֵд´Ëº¯ÊýµÄ·µ»ØÖµ¡£
·µ»ØÖµ£º
³É¹¦£ºÐÒé±ê¼Ç
ʧ°Ü£º-1
libnet_ptag_t libnet_build_tcp_options(
u_int8_t *options,u_int32_t options_s,libnet_t *l,libnet_ptag_t ptag );
¹¦ÄÜ£º
¹¹Ôì tcp Ñ¡ÏîÊý¾Ý°ü
²ÎÊý£º
options£ºtcp Ñ¡Ïî×Ö·û´®
options_s£ºÑ¡Ï¶È
l£ºlibnet ¾ä±ú£¬libnet_init() ·µ»ØµÄ libnet * Ö¸Õë
ptag£ºÐÒé±ê¼Ç£¬µÚÒ»´Î×éеķ¢ËͰüʱ£¬ÕâÀïд 0£¬Í¬Ò»¸öÓ¦ÓóÌÐò£¬ÏÂÒ»´ÎÔÙ×é°üʱ£¬Õâ¸öλÖõÄֵд´Ëº¯ÊýµÄ·µ»ØÖµ¡£
·µ»ØÖµ£º
³É¹¦£ºÐÒé±ê¼Ç
ʧ°Ü£º-1
libnet_ptag_t libnet_build_ipv4(
u_int16_t ip_len, u_int8_t tos,u_int16_t id, u_int16_t flag,u_int8_t ttl, u_int8_t prot,u_int16 sum, u_int32_t src,u_int32_t dst, u_int8_t *payload,u_int32_t payload_s,libnet_t *l,libnet_ptag_t ptag );
¹¦ÄÜ£º
¹¹ÔìÒ»¸ö IPv4 Êý¾Ý°ü
²ÎÊý£º
ip_len£ºip °ü×ܳ¤
tos£º·þÎñÀàÐÍ
id£ºip ±êʶ
flag£ºÆ¬Æ«ÒÆ
ttl£ºÉú´æÊ±¼ä
prot£ºÉϲãÐÒé
sum£ºÐ£ÑéºÍ£¬ÉèΪ 0£¬libnet ×Ô¶¯Ìî³ä
src£ºÔ´ ip µØÖ·
dst£ºÄ¿µÄipµØÖ·
payload£º¸ºÔØ£¬¿ÉÉèÖÃΪ NULL£¨ÕâÀïͨ³£Ð´ NULL£©
payload_s£º¸ºÔس¤¶È£¬»òΪ 0£¨ÕâÀïͨ³£Ð´ 0 £©
l£ºlibnet ¾ä±ú£¬libnet_init() ·µ»ØµÄ libnet * Ö¸Õë
ptag£ºÐÒé±ê¼Ç£¬µÚÒ»´Î×éеķ¢ËͰüʱ£¬ÕâÀïд 0£¬Í¬Ò»¸öÓ¦ÓóÌÐò£¬ÏÂÒ»´ÎÔÙ×é°üʱ£¬Õâ¸öλÖõÄֵд´Ëº¯ÊýµÄ·µ»ØÖµ¡£
·µ»ØÖµ£º
³É¹¦£ºÐÒé±ê¼Ç
ʧ°Ü£º-1
libnet_ptag_t libnet_build_ipv4_options(
u_int8_t*options, u_int32_t options,libnet_t*l, libnet_ptag_t ptag);
¹¦ÄÜ£º
¹¹Ôì IPv4 Ñ¡ÏîÊý¾Ý°ü
²ÎÊý£º
options£ºtcp Ñ¡Ïî×Ö·û´®
options_s£ºÑ¡Ï¶È
l£ºlibnet ¾ä±ú£¬libnet_init() ·µ»ØµÄ libnet * Ö¸Õë
ptag£ºÐÒé±ê¼Ç£¬ÈôΪ 0£¬½¨Á¢Ò»¸öеÄÐÒé
·µ»ØÖµ£º
³É¹¦£ºÐÒé±ê¼Ç
ʧ°Ü£º-1
libnet_ptag_t libnet_build_arp(
u_int16_t hrd, u_int16_t pro,
u_int8_t hln, u_int8_t pln£¬
u_int16_t op, u_int8_t *sha,
u_int8_t *spa, u_int8_t *tha£¬
u_int8_t *tpa, u_int8_t *payload£¬
u_int32_t payload_s, libnet_t *l,
libnet_ptag_t ptag );
¹¦ÄÜ£º
¹¹Ôì arp Êý¾Ý°ü
²ÎÊý£º
hrd£ºÓ²¼þµØÖ·¸ñʽ£¬ARPHRD_ETHER£¨ÒÔÌ«Íø£©
pro£ºÐÒ鵨ַ¸ñʽ£¬ETHERTYPE_IP£¨ IPÐÒ飩
hln£ºÓ²¼þµØÖ·³¤¶È
pln£ºÐÒ鵨ַ³¤¶È
op£ºARPÐÒé²Ù×÷ÀàÐÍ£¨1£ºARPÇëÇó£¬2£ºARP»ØÓ¦£¬3£ºRARPÇëÇó£¬4£ºRARP»ØÓ¦£©
sha£º·¢ËÍÕßÓ²¼þµØÖ·
spa£º·¢ËÍÕßÐÒ鵨ַ
tha£ºÄ¿±êÓ²¼þµØÖ·
tpa£ºÄ¿±êÐÒ鵨ַ
payload£º¸ºÔØ£¬¿ÉÉèÖÃΪ NULL£¨ÕâÀïͨ³£Ð´ NULL£©
payload_s£º¸ºÔس¤¶È£¬»òΪ 0£¨ÕâÀïͨ³£Ð´ 0 £©
l£ºlibnet ¾ä±ú£¬libnet_init() ·µ»ØµÄ libnet * Ö¸Õë
ptag£ºÐÒé±ê¼Ç£¬µÚÒ»´Î×éеķ¢ËͰüʱ£¬ÕâÀïд 0£¬Í¬Ò»¸öÓ¦ÓóÌÐò£¬ÏÂÒ»´ÎÔÙ×é°üʱ£¬Õâ¸öλÖõÄֵд´Ëº¯ÊýµÄ·µ»ØÖµ¡£
·µ»ØÖµ£º
³É¹¦£ºÐÒé±ê¼Ç
ʧ°Ü£º-1
libnet_ptag_t libnet_build_ethernet(
u_int8_t*dst, u_int8_t *src,
u_int16_ttype, u_int8_t*payload,
u_int32_tpayload_s, libnet_t*l,
libnet_ptag_t ptag );
¹¦ÄÜ£º
¹¹ÔìÒ»¸öÒÔÌ«ÍøÊý¾Ý°ü
²ÎÊý£º
dst£ºÄ¿µÄ mac
src£ºÔ´ mac
type£ºÉϲãÐÒéÀàÐÍ
payload£º¸ºÔØ£¬¼´¸½´øµÄÊý¾Ý£¬¿ÉÉèÖÃΪ NULL£¨ÕâÀïͨ³£Ð´ NULL£©
payload_s£º¸ºÔس¤¶È£¬»òΪ 0£¨ÕâÀïͨ³£Ð´ 0 £©
l£ºlibnet ¾ä±ú£¬libnet_init() ·µ»ØµÄ libnet * Ö¸Õë
ptag£ºÐÒé±ê¼Ç£¬µÚÒ»´Î×éеķ¢ËͰüʱ£¬ÕâÀïд 0£¬Í¬Ò»¸öÓ¦ÓóÌÐò£¬ÏÂÒ»´ÎÔÙ×é°üʱ£¬Õâ¸öλÖõÄֵд´Ëº¯ÊýµÄ·µ»ØÖµ¡£
·µ»ØÖµ£º
³É¹¦£ºÐÒé±ê¼Ç
ʧ°Ü£º-1
int libnet_write(libnet_t * l);
¹¦ÄÜ£º
·¢ËÍÊý¾Ý°ü
²ÎÊý£º
l£ºlibnet ¾ä±ú£¬libnet_init() ·µ»ØµÄ libnet * Ö¸Õë
·µ»ØÖµ£º
³É¹¦£º·¢ËÍÊý¾Ý°üµÄ³¤¶ÈʹÓÃʵÀý
ʧ°Ü£º·µ»Ø -1
ÕâÀïÊÇÔÚ ubuntu ÏÂͨ¹ýÔʼÌ×½Ó×Ö×éÒ»¸ö udp Êý¾Ý°ü£¬¸ø PC »úµÄÍøÂçµ÷ÊÔÖúÊÖ·¢ËÍÐÅÏ¢£¨¶Ô±È£º¡¶ÔʼÌ×½Ó×ÖʵÀý£º·¢ËÍ UDP Êý¾Ý°ü¡·£©£º
¸´ÖÆ´úÂë
±¾ÎİæÈ¨¹éÀÖÓã²¥¿ÍC++ÅàѵѧԺËùÓУ¬»¶Ó×ªÔØ£¬×ªÔØÇë×¢Ã÷×÷Õß³ö´¦¡£Ð»Ð»£¡
×÷ÕߣºÀÖÓã²¥¿ÍC/C++ÅàѵѧԺ
Ê×·¢£ºhttp://www.itcast.cn/c/
±±¾©Ð£Çø