winpcap 发送数据包
把WinPcap 中分析数据包的代码复制到VS中,再把WinPcap中数据分析中的一些关于网卡打印的代码复制到VS中。
// mist12306.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <pcap.h>
void main(int argc, char **argv)
{
pcap_t *fp;
char errbuf[PCAP_ERRBUF_SIZE];
u_char packet[100];
int i;
pcap_if_t *alldevs;
pcap_if_t *d;
int inum;
int j=0;
pcap_t *adhandle;
/* 获得设备列表 */
if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1)
{
fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
exit(1);
}
/* 打印列表 */
for(d=alldevs; d; d=d->next)
{
printf("%d. %s", ++j, d->name);
if (d->description)
printf(" (%s)\n", d->description);
else
printf(" (No description available)\n");
}
if(j==0)
{
printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
return ;
}
printf("Enter the interface number (1-%d):",j);
scanf("%d", &inum);
if(inum < 1 || inum > j)
{
printf("\nInterface number out of range.\n");
/* 释放设备列表 */
pcap_freealldevs(alldevs);
return ;
}
/* 跳转到已选设备 */
for(d=alldevs,j=0; j< inum-1 ;d=d->next, j++);
/* 打开输出设备 */
if ( (fp= pcap_open(d->name, // 设备名
100, // 要捕获的部分 (只捕获前100个字节)
PCAP_OPENFLAG_PROMISCUOUS, // 混杂模式
1000, // 读超时时间\
NULL, // 远程机器验证
errbuf // 错误缓冲
) ) == NULL)
{
fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n",d->name);
return;
}
/* 假设在以太网上,设置MAC的目的地址为 1:1:1:1:1:1 */
packet[0]=255;
packet[1]=255;
packet[2]=255;
packet[3]=255;
packet[4]=255;
packet[5]=255;
/* 设置MAC源地址为 2:2:2:2:2:2 */
packet[6]=91;
packet[7]=91;
packet[8]=91;
packet[9]=91;
packet[10]=91;
packet[11]=91;
packet[12]=96;
packet[13]=00;
/* 填充剩下的内容 */
for(i=14;i<100;i++)
{
packet[i]=i%256;
}
/* 发送数据包 */
if (pcap_sendpacket(fp, packet, 100 /* size */) != 0)
{
fprintf(stderr,"\nError sending the packet: \n", pcap_geterr(fp));
return;
}
return;
}
运行后选择第二块网卡,再打开wireshark捕获数据包。
转载于:https://blog.51cto.com/12045285/1887767
winpcap 发送数据包相关推荐
- WinPcap发送数据包
一.前言 尽管WinPcap从名字上来看表明他的主要目的是捕获数据包,但是他还为原始网络提供了一些其他的功能,其中之一就是用户可以发送数据包,这也就是本节的主要内容.需要指出的是原来的libpcap并 ...
- Day2多种抓包工具介绍以及使用封包监听工具找到挑战数据包实现发送数据包进行挑战
工具相关证书安装指南 Charles https://blog.csdn.net/weixin_45459427/article/details/108393878 Fidder https://bl ...
- 【Java 网络编程】UDP 服务器 客户端 通信 ( DatagramSocket | DatagramPacket | UDP 发送数据包 | UDP 接收数据包 | 端口号分配使用机制 )
文章目录 I UDP 信息发送接收原理 II UDP 发送和接收端口相同 III UDP 发送信息代码示例 IV UDP 接收信息代码示例 V UDP 服务器端代码示例 VI UDP 客户端代码示例 ...
- linux 监听数据包,linux下网络监听与发送数据包的方法(即libpcap、libnet两种类库的使用方法)...
linux下可以用libpcap函数库实现监听数据包,使用libnet 函数库发送数据包 安装: 在命令行下apt-get install 就可以了 libpcap的使用: /*author hjj ...
- linux下网络监听与发送数据包的方法(即libpcap、libnet两种类库的使用方法)
linux下可以用libpcap函数库实现监听数据包,使用libnet 函数库发送数据包 安装: 在命令行下apt-get install 就可以了 libpcap的使用: /*author hjjd ...
- python中如何导入数据包_如何在python中发送数据包?
我尝试使用这段代码在 python中使用scapy发送数据包 data= "University of texas at San Antonio" a=IP(dst="1 ...
- linux网络接口数据重新封包,Linux网络之设备接口层:发送数据包流程dev_queue_xmit...
写在前面 本文主要是分析kernel-3.8的源代码,主要集中在Network的netdevice层面,来贯穿interface传输数据包的流程,kernel 博大精深,这也仅仅是一点个人愚见,作为一 ...
- ominipeek 发包_Sniffer pro与OmniPeek Personal发送数据包小差别
在看完haiwanxue的"简单对比omnipeek与sniffer pro报文发送功能.pdf"一文后,偶在使用Omnipeek Personal的发送数据包功能过程中发现Omn ...
- coap php 发送,如何使用coap协议向服务器发送数据包
如何使用coap协议向服务器发送数据包以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! CoAP的URL 在HTTP的世界 ...
最新文章
- Qcon大会归来(r12笔记第36天)
- wprintf 和 wcout
- 删除元素(LintCode)
- ckeditor java 使用,CKEditor5在自定义数据处理器中使用模型
- Navcat:解决1251 client does not support authentication ...问题
- 如何用illustrator做技术手册_做期货用什么技术指标分析?
- 自称迪拜十星级酒店,震撼了!
- 60-100-026-使用-MySQL 行锁
- 初识JS-基础中的基础
- Pytorch-torchvision源码解读:ASPP
- MAC SSH密钥登陆
- WPS表格乘的结果和计算机的不一样,同版本wps两个电脑显示不一样怎么办
- 使用Entrez下载文献
- Redis雪崩、穿透、击穿补充学习与布隆过滤器
- Eclipse和JDK版本对应关系
- 生产排产软件中MTO模式的优缺点
- 基于线性函数近似的安全强化学习 Safe RL with Linear Function Approximation 翻译 2
- Java图像处理(后面会补充PS啥的)
- 概率分布、概率密度、概率函数、分布函数之间区别
- 耗时6个月,从月入3K到14K的,我都经历了什么......
热门文章
- ViewPager+Fragment懒加载
- Android自定义控件系列
- 周志华讲座---关于人工智能---科普性质---天地工学讲坛2017.11.30
- 巧妙的 排序+去重——C语言
- 前后端分离 集群负载均衡 分布式 微服务
- java 打印日志log_java如何LOG打印出日志信息
- 如果常数项没有经过显著性检验_Cg,Cgk 能代替偏倚显著性检验?
- 计算机mac地址里面0,如何查计算机MAC地址
- RDMA技术详解(三):理解RDMA Scatter Gather List
- 传值类型_what?你竟然不知道C#中的方法及参数的类型解析!那还不快来瞅瞅