[root@TD18 tmp]#gcc -o  .c -lnet
[root@TD18 tmp]#./
please enter Host address
11.11.11.11
please enter local address:
22.22.22.22
wrote byte TCP packet
[root@TD18 tmp]#cat .c
#include<stdio.h>
#include<string.h>
#include<pcap.h>
#include<libnet.h> main(void)
{ int c ;
u_char *cp;
libnet_t *l;
libnet_ptag_t t;
char *payload;
u_char HostAddr[],MyAddr[];
u_short payload_s;
u_long src_ip,dst_ip;
u_short src_prt,dst_prt; char errbuf[LIBNET_ERRBUF_SIZE];
printf("please enter Host address\n");
scanf("%s",HostAddr);
printf("please enter local address:\n");
scanf("%s",MyAddr);
l=libnet_init( LIBNET_LINK,NULL,errbuf);
if(l==NULL)
{
printf("libnet failed: %s",errbuf);
exit(EXIT_FAILURE);
}
dst_ip=inet_addr(HostAddr);
src_ip=inet_addr(MyAddr);
dst_prt=;
src_prt=; payload="adafhafhasfjashfasjfasjkfhsadjkfajskfjasdhfjaksfjkaf";
payload_s=strlen(payload);
t=libnet_build_tcp_options("\003\003\012\001\002\004\001\011\010\012\077\077\077\077\000\000\000\000\000\000",,l,);
if(t==-)
{printf("cant build TCP options: %s\n",libnet_geterror(l));
goto bad;} t=libnet_build_tcp(src_prt,dst_prt,0x01010101,0x02020202,TH_SYN,,,,
LIBNET_TCP_H++payload_s,payload,payload_s,l, );
if(t==-)
{
printf("cant build TCP header:%s\n",libnet_geterror(l));
goto bad;
} t=libnet_build_ipv4(LIBNET_IPV4_H+LIBNET_TCP_H++payload_s,,,,,IPPROTO_TCP,,src_ip,dst_ip,NULL,,l,); if(t==-)
{
printf("cant build IP header:%s\n",libnet_geterror(l));
goto bad;
}
t=libnet_build_ethernet("00:0B:6A:63:5E:11","00:0B:6A:63:5E:22",ETHERTYPE_IP,NULL,,l,); if(t==-)
{printf("cant buid ethernet header:%s\n",libnet_geterror(l));
goto bad;
}
c=libnet_write(l);
if(c==-)
{printf("write error:%s\n",libnet_geterror(l));
goto bad;
}
else { printf("wrote %d byte TCP packet\n",c);
}
libnet_destroy(l);
return(EXIT_SUCCESS);
bad:
libnet_destroy(l);
return(EXIT_FAILURE); }

libnet TCP示例的更多相关文章

  1. GO语言练习:网络编程 TCP 示例

    1.代码 2.编译及运行 1.网络编程 TCP 示例 simplehttp.go 代码 package main import ( "net" "os" &qu ...

  2. python中的tcp示例详解

    python中的tcp示例详解  目录 TCP简介 TCP介绍 TCP特点 TCP与UDP的不同点 udp通信模型 tcp客户端 tcp服务器 tcp注意点   TCP简介   TCP介绍 TCP协议 ...

  3. java Socket Tcp示例三则(服务端处理数据、上传文件)

    示例一: package cn.itcast.net.p5.tcptest; import java.io.BufferedReader;import java.io.IOException;impo ...

  4. Modbus TCP 示例报文

    调试modbus  tcp 整理百度文库文档如下 <modbus-tcp-报文举例分析> <MODBUSTCP通讯报文> Client request: 19 B2 00 00 ...

  5. 压力测试工具 Apache_jmeter软件配置+TCP示例说明

    该软件jmeter是Apache官方开源压力测试软件.  jmeter官网:http://jmeter.apache.org/  . 本文使用的版本是 3.0版本, 它需要jdk7及以上版本支持. 网 ...

  6. boost asio 学习(七) 网络基础 连接器和接收器(TCP示例)

    http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting- started-with-boostasio?pg=8 7. Net ...

  7. Linux socket编程示例(最简单的TCP和UDP两个例子)

    一.socket编程 网络功能是Uinux/Linux的一个重要特点,有着悠久的历史,因此有一个非常固定的编程套路. 基于TCP的网络编程: 基于连接, 在交互过程中, 服务器和客户端要保持连接, 不 ...

  8. python前后台tcp/udp通讯示例

    以下代码兼容python2.7+.python3 TCP示例 服务器 -- sever_tcp.py #!/usr/bin/env python #coding=utf-8 import time i ...

  9. Linux网络编程:基于TCP的程序开发回顾篇《转》

    面向连接的TCP程序设计 基于TCP的程序开发分为服务器端和客户端两部分,常见的核心步骤和流程: 其实按照上面这个流程调用系统API确实可以完全实现应用层程序的开发,一点问题没有.可随着时间的推移,你 ...

随机推荐

  1. 洛谷P3004 [USACO10DEC]宝箱Treasure Chest

    P3004 [USACO10DEC]宝箱Treasure Chest 题目描述 Bessie and Bonnie have found a treasure chest full of marvel ...

  2. vue element-ui IE9--11报 “无法获取未定义或null引用的属性‘toLowerCase’”

    今天做zymh比赛的一个管理后台,用的技术是vue+element-ui+vue-router+axios,其他浏览器运行的很好,但是在IE(从IE11到IE9,vue支持IE9以上)都报错 点进去就 ...

  3. CF1141F Same Sum Blocks(easy/hard)

    传送门easy 传送门hard 切水题的感觉真好 看到数据范围这么小,所以暴力枚举所有的可能,然后用map+vector存下每种值的区间,然后贪心去选 代码: #include<cstdio&g ...

  4. 蓝桥校内选拔赛B题(不一定正确)

    由于没报名,只能靠别人发的截图来做了 我的思路:全排列,判断加号位置,判断/位置,看是否存在这个相等的 时间复杂度较高,在10e8左右 代码: #include<cstdio> #incl ...

  5. python之set集合、深浅拷贝

    一.基本数据类型补充 1,关于int和str在之前的学习中已经介绍了80%以上了,现在再补充一个字符串的基本操作: li = ['李嘉诚','何炅','海峰','刘嘉玲'] s = "_&q ...

  6. Python 开发基础-字符串类型讲解(字符串方法)-2

    s = 'Hello World!'print(s.index('W',0,9))#返回某个字母的索引值,本例返回6.没有该字母会报错,和FIND比较像,find不会报错,没找到会返回-1print( ...

  7. eclipse Java项目如何修改包名

    选中你的包名右键-->Refactor -->Rename -->勾选以下两个选项(必须选两个,只选第一个,是新增包) 修改以后,同时要修改.xml..properties文件内的引 ...

  8. python 4学习 list 和 tuple

    list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...

  9. Coroutine(协程)模式与线程

    概念 协程(Coroutine)这个概念最早是Melvin Conway在1963年提出的,是并发运算中的概念,指两个子过程通过相互协作完成某个任务,用它可以实现协作式多任务,协程(coroutine ...

  10. 小G搭积木

    A小 G 搭积木文件名 输入文件 输出文件 时间限制 空间限制box.cpp box.in box.out 2s 128MB题目描述小 G 喜欢搭积木.小 G 一共有 n 块积木,并且积木只能竖着一块 ...