libnet TCP示例
[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示例的更多相关文章
- GO语言练习:网络编程 TCP 示例
1.代码 2.编译及运行 1.网络编程 TCP 示例 simplehttp.go 代码 package main import ( "net" "os" &qu ...
- python中的tcp示例详解
python中的tcp示例详解 目录 TCP简介 TCP介绍 TCP特点 TCP与UDP的不同点 udp通信模型 tcp客户端 tcp服务器 tcp注意点 TCP简介 TCP介绍 TCP协议 ...
- java Socket Tcp示例三则(服务端处理数据、上传文件)
示例一: package cn.itcast.net.p5.tcptest; import java.io.BufferedReader;import java.io.IOException;impo ...
- Modbus TCP 示例报文
调试modbus tcp 整理百度文库文档如下 <modbus-tcp-报文举例分析> <MODBUSTCP通讯报文> Client request: 19 B2 00 00 ...
- 压力测试工具 Apache_jmeter软件配置+TCP示例说明
该软件jmeter是Apache官方开源压力测试软件. jmeter官网:http://jmeter.apache.org/ . 本文使用的版本是 3.0版本, 它需要jdk7及以上版本支持. 网 ...
- boost asio 学习(七) 网络基础 连接器和接收器(TCP示例)
http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting- started-with-boostasio?pg=8 7. Net ...
- Linux socket编程示例(最简单的TCP和UDP两个例子)
一.socket编程 网络功能是Uinux/Linux的一个重要特点,有着悠久的历史,因此有一个非常固定的编程套路. 基于TCP的网络编程: 基于连接, 在交互过程中, 服务器和客户端要保持连接, 不 ...
- python前后台tcp/udp通讯示例
以下代码兼容python2.7+.python3 TCP示例 服务器 -- sever_tcp.py #!/usr/bin/env python #coding=utf-8 import time i ...
- Linux网络编程:基于TCP的程序开发回顾篇《转》
面向连接的TCP程序设计 基于TCP的程序开发分为服务器端和客户端两部分,常见的核心步骤和流程: 其实按照上面这个流程调用系统API确实可以完全实现应用层程序的开发,一点问题没有.可随着时间的推移,你 ...
随机推荐
- 洛谷P3004 [USACO10DEC]宝箱Treasure Chest
P3004 [USACO10DEC]宝箱Treasure Chest 题目描述 Bessie and Bonnie have found a treasure chest full of marvel ...
- vue element-ui IE9--11报 “无法获取未定义或null引用的属性‘toLowerCase’”
今天做zymh比赛的一个管理后台,用的技术是vue+element-ui+vue-router+axios,其他浏览器运行的很好,但是在IE(从IE11到IE9,vue支持IE9以上)都报错 点进去就 ...
- CF1141F Same Sum Blocks(easy/hard)
传送门easy 传送门hard 切水题的感觉真好 看到数据范围这么小,所以暴力枚举所有的可能,然后用map+vector存下每种值的区间,然后贪心去选 代码: #include<cstdio&g ...
- 蓝桥校内选拔赛B题(不一定正确)
由于没报名,只能靠别人发的截图来做了 我的思路:全排列,判断加号位置,判断/位置,看是否存在这个相等的 时间复杂度较高,在10e8左右 代码: #include<cstdio> #incl ...
- python之set集合、深浅拷贝
一.基本数据类型补充 1,关于int和str在之前的学习中已经介绍了80%以上了,现在再补充一个字符串的基本操作: li = ['李嘉诚','何炅','海峰','刘嘉玲'] s = "_&q ...
- Python 开发基础-字符串类型讲解(字符串方法)-2
s = 'Hello World!'print(s.index('W',0,9))#返回某个字母的索引值,本例返回6.没有该字母会报错,和FIND比较像,find不会报错,没找到会返回-1print( ...
- eclipse Java项目如何修改包名
选中你的包名右键-->Refactor -->Rename -->勾选以下两个选项(必须选两个,只选第一个,是新增包) 修改以后,同时要修改.xml..properties文件内的引 ...
- python 4学习 list 和 tuple
list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...
- Coroutine(协程)模式与线程
概念 协程(Coroutine)这个概念最早是Melvin Conway在1963年提出的,是并发运算中的概念,指两个子过程通过相互协作完成某个任务,用它可以实现协作式多任务,协程(coroutine ...
- 小G搭积木
A小 G 搭积木文件名 输入文件 输出文件 时间限制 空间限制box.cpp box.in box.out 2s 128MB题目描述小 G 喜欢搭积木.小 G 一共有 n 块积木,并且积木只能竖着一块 ...