社区
网络编程
帖子详情
如何向本机网卡发送网络数据?
无聊客
2008-06-23 02:12:26
我在客户设备上用Wincap抓了他们的数据流文件,现在我需要在另外一台设备上模拟这些数据流到的环境,我初步的想法是先打开Wincap的数据文件,读取原始数据,然后通过某种手段模拟发到设备的网卡上,通过wincap抓取文件已经实现,不知道各位大虾有没有什么办法能够模拟向本机网卡发送网络数据包(应该是IP包吧),谢谢!
...全文
618
20
打赏
收藏
如何向本机网卡发送网络数据?
我在客户设备上用Wincap抓了他们的数据流文件,现在我需要在另外一台设备上模拟这些数据流到的环境,我初步的想法是先打开Wincap的数据文件,读取原始数据,然后通过某种手段模拟发到设备的网卡上,通过wincap抓取文件已经实现,不知道各位大虾有没有什么办法能够模拟向本机网卡发送网络数据包(应该是IP包吧),谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhongrihan2008
2011-10-04
打赏
举报
回复
用127.0.0.1这方法是最简单的!!
dongw1023
2008-08-28
打赏
举报
回复
[Quote=引用 9 楼 Alex_1985f 的回复:]
引用 7 楼 CathySun118 的回复:
对socket来说,只关心对方的ip和端口,根本不关是不是本机
此话有理,只是通信的时候,保证通信的端口号不同
[/Quote]
en...
yuzhouzhichong
2008-08-28
打赏
举报
回复
直接用UDP广播三:
char broad=0x57;
SOCKET sock
sockaddr_in addr;
bool op=1;
if(sock!=NULL)
{
closesocket(sock);
sock=NULL;
}
if(sock==NULL)
{
sock=socket(AF_INET,SOCK_DGRAM,0);
ASSERT(sock!=NULL);
}
addr.sin_family=AF_INET;
addr.sin_addr.S_un.S_addr=INADDR_ANY;
addr.sin_port=htons(8000);
int ret=0;
ret=bind(sock,(LPSOCKADDR)&addr,sizeof(addr));
if(ret==SOCKET_ERROR)
{
DWORD dw=GetLastError();
AfxMessageBox("绑定错误!");
closesocket(sock);
return false;
}
if(SOCKET_ERROR==setsockopt(sock,SOL_SOCKET,SO_BROADCAST,(char *)&op,sizeof(bool)))
AfxMessageBox("无法进行UDP广播");
addr.sin_family=AF_INET;
addr.sin_addr.S_un.S_addr=INADDR_BROADCAST;
addr.sin_port=htons(1021);
sendto(sock,&broad,sizeof(broad),0,(sockaddr *)&addr,sizeof(addr));
WSAAsyncSelect(m_hSocket,m_hWnd,CLI_MSG,FD_READ | FD_CLOSE)
然后在CLI_MSG消息中直接收即可!
此帐号已弃用12
2008-08-28
打赏
举报
回复
socket发送到127.0.0.1
wanbangxinji
2008-08-28
打赏
举报
回复
如果用于模拟的设备接入网络的话,照常用socket通信即可,在本机开个端口监听,然后用另一个socket发包。
或者装个虚拟机,模拟2台主机的通信,虚拟机的网卡设置成“桥接”模式
dirdirdir3
2008-08-27
打赏
举报
回复
楼主的意思应该是建立了与远程的连接,然后本机上模仿远程的连接向本机的同一个端口发数据吧.
应该没有现成的函数实现,可以试试向socket的缓冲区写入数据.要不就要动驱动的主义了..............
greatws
2008-08-27
打赏
举报
回复
destMAC改成你自己那张网卡的,然后直接发就行了
qq_sugar
2008-08-27
打赏
举报
回复
直接通过winpcap在指定网卡上发包就可以了。
先可以通过winpcap把需要模拟的数据包存储下来,然后通过winpcap在本机的网卡上发送这些报文就可以了,和通过其他设备真实发包一样。
当然要是这些数据包中有交互报文就比较麻烦了,需要自己进行协议交互处理。
Wenxy1
2008-08-27
打赏
举报
回复
发送数据到环回接口就OK了。
chenjiq
2008-06-25
打赏
举报
回复
socket 发送到127.0.0.1,本机就可以收到了
自由的风
2008-06-25
打赏
举报
回复
只在本机上面,想把数据在网卡级别上进行调度,而又只是用sockAPI编程的话,不可能。
圣陶沙
2008-06-24
打赏
举报
回复
用Socket就可以
Alex_1985f
2008-06-24
打赏
举报
回复
[Quote=引用 7 楼 CathySun118 的回复:]
对socket来说,只关心对方的ip和端口,根本不关是不是本机
[/Quote]
此话有理,只是通信的时候,保证通信的端口号不同
CathySun118
2008-06-23
打赏
举报
回复
对socket来说,只关心对方的ip和端口,根本不关是不是本机
baggiocici
2008-06-23
打赏
举报
回复
如果用于模拟的设备接入网络的话,照常用socket通信即可,在本机开个端口监听,然后用另一个socket发包。
或者装个虚拟机,模拟2台主机的通信,虚拟机的网卡设置成“桥接”模式
DarknessTM
2008-06-23
打赏
举报
回复
socket通信说白了就是进程间通信,至于是 本机进程间还是远程进程间,一般关系不大……
scq2099yt
2008-06-23
打赏
举报
回复
自己写一个发数据的客户端不就可以了
无聊客
2008-06-23
打赏
举报
回复
自己顶下,客户需要,只能本机
cwc270
2008-06-23
打赏
举报
回复
用两台电脑吧,最符合实际情况了。
pingguowuai
2008-06-23
打赏
举报
回复
广播的话,应该自己也能接受到吧。
深入理解Linux
网络
——
本机
网络
IO
上面路由表中10.143.x.y dev eth0是
本机
的局域网IP,虽然写的是dev eth0,但是其实内核在初始化local路由表的时候,把local路由表里所有的路由项都设置为了RTN_LOCAL。:__netif_receive_skb => __netif_receive_skb_core => deliver_skb,然后再将
数据
送入ip_rcv中进行后续操作。查找路由项的函数时ip_route_output_ports,它经过层层调用,来到关键的部分——fib_lookup。
深入理解Linux内核
网络
(四):
本机
网络
本文将深入探讨
本机
与跨机
网络
通信的原理与实现,涵盖了跨机通信的
数据
发送
与接收流程、
本机
通信的路由与设备处理机制,以及内核中的驱动程序调用。通过对比跨机和
本机
网络
I/O的不同,文章解释了
数据
包在内核中的走向及其性能差异部分内容来源于 《深入理解Linux
网络
》、《Linux内核源码分析TCP实现》
深入理解Linux
网络
笔记(五):深度理解
本机
网络
IO
1)127.0.0.1
本机
网络
IO需要经过
网卡
吗?不需要经过
网卡
。即使把
网卡
拔了,
本机
网络
还是可以正常使用的2)
数据
包在内核中是什么走向,和外网
发送
相比流程上有什么差别?总的来说,
本机
网络
IO和跨机
网络
IO比较起来,确实是节约了驱动上的一些开销。
发送
数据
不需要进RingBuffer的驱动队列,直接把skb传给接收协议栈(经过软中断)。但是在内核其他组件上,可是一点儿都没少,系统调用、协议栈(传输层、
网络
层等)、设备子系统整个走了一遍。连驱动程序都走了(虽然对于回环设备来说只是一个纯软件的虚拟出来的东西)。
如何实现自定义sk_buff
数据
包并提交协议栈
目录 一、自定义
数据
包的封装流程 1.分配skb 2.初始定位(skb_reserve) 3.拷贝
数据
(skb_push / skb_pull / skb_put / ) 4.设置传输层头部 5.设置IP层头部 6.添加以太网头 二、自定义
数据
包的封装实例 1. “纯净
数据
包”
发送
到
本机
的协议栈并交由上层处理: 2. “完整的IP
数据
包”
发送
到本地的协议栈并交由上层处理: ...
环回地址
本文转载自: 原文链接:https://blog.csdn.net/maoxiaohai123/article/details/86230477 A类地址段127.0.0.0默认被用作本地环回地址,其实只要是127开头的所有地址均是环回地址。 这个地址是用于标志
本机
的localhost。也就是说当要向
本机
发送
数据
时,就会用到环回地址。 当收到
数据
包时,判断若目的IP地址与
本机
I...
网络编程
18,356
社区成员
64,164
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章