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确实可以完全实现应用层程序的开发,一点问题没有.可随着时间的推移,你 ...
随机推荐
- [转] 深度探索Hyperledger技术与应用之超级账本的典型交易流程
转自: https://blog.csdn.net/HiBlock/article/details/80212499 个人感觉对交易流程描述的比较清楚,转载以备查看. 1 典型交易流程 下图所示为Hy ...
- [Xcode 实际操作]六、媒体与动画-(10)UIView视图翻转动的画制作
目录:[Swift]Xcode实际操作 本文将演示翻转动画的制作. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit class ViewC ...
- Java获取上周,本周,本月,本年,开始结束时间 。日期工具类
由于获取日期经常会使用到,所有我自己写了一个工具类 1.基本上能用上的都写出来了,包括:1)获取当天的开始时间 2)获取当天的结束时间 3)获取昨天的开始时间 4)获取昨天的结束时间 5)获取明天的开 ...
- Hive进阶_Hive的子查询
- 集合中如果含null数据,不可使用not in, 可以使用in- hive只支持where和from子句中的子查询- 主查询和自查询可以不是同一张表 select e.ename from emp ...
- Net Core2.0 基于QuartzNet任务管理系统
Net Core2.0 基于QuartzNet任务管理系统 Quartz.NET官网地址:https://www.quartz-scheduler.net/ Quartz.NET文档地址:https: ...
- linux下火狐浏览器安装flash player插件
1 去官方网站下载flash player 安装包.后缀名为.tar.gz,假设名称为flash.tar.gz 默认在桌面 2 下载后解压缩,使用以下命令 #tar -zxvf /root/Deskt ...
- SyntaxHighlighter
SyntaxHighlighter uses separate syntax files called brushes to define its highlighting functionality ...
- list 转换成datatable
感谢网上的一位朋友 /// <summary> /// 将集合类转换成DataTable /// </summary> /// <param name="lis ...
- ESP8266串口WiFi扩展板详解
产品简介 ESP8266串口WiFi扩展板是深圳四博智联科技有限公司开发的一款基于乐鑫ESP8266的超低功耗的UART-WiFi模块,兼容Arduino UNO.Mega等标准主板,可以方便地进行二 ...
- Gradle项目构建(1)——Gradle的由来
一.项目自动构建介绍 作为Java的开发者对eclipse都非常熟悉,其实eclipse就是居于ant来构建项目的,我们先来看看为什么需要自动化构建项目. 1.为什么我们要自动化构建项目 可以假设我们 ...