社区
网络编程
帖子详情
如何向本机网卡发送网络数据?
无聊客
2008-06-23 02:12:26
我在客户设备上用Wincap抓了他们的数据流文件,现在我需要在另外一台设备上模拟这些数据流到的环境,我初步的想法是先打开Wincap的数据文件,读取原始数据,然后通过某种手段模拟发到设备的网卡上,通过wincap抓取文件已经实现,不知道各位大虾有没有什么办法能够模拟向本机网卡发送网络数据包(应该是IP包吧),谢谢!
...全文
540
20
打赏
收藏
如何向本机网卡发送网络数据?
我在客户设备上用Wincap抓了他们的数据流文件,现在我需要在另外一台设备上模拟这些数据流到的环境,我初步的想法是先打开Wincap的数据文件,读取原始数据,然后通过某种手段模拟发到设备的网卡上,通过wincap抓取文件已经实现,不知道各位大虾有没有什么办法能够模拟向本机网卡发送网络数据包(应该是IP包吧),谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
广播的话,应该自己也能接受到吧。
多
网卡
指定
网卡
发送
数据
2个
网卡
,分别在不同
网络
环境。 局域网一: 网关:10.9.16.254 电脑地址1:10.9.16.88 局域网二:网关:10.9.24.1 电脑地址2:10.9.24.88 要求: 通过 10.9.16.88 这个地址
发送
一段
数据
到 10.9.24.1 ...
Linux指定
网卡
socket
发送
数据
我们的嵌入式设备(基于Linux)做为
数据
采集上报,当有多个
数据
出口,做冗余
发送
。 两个出口的
网络
不再分层,均处于同一子网,直接用socket
发送
即可,系统会按照本地路由表进行匹配
发送
## 可以该命令查看本地...
linux通过指定
网卡
发送
数据
,实现方式
linux通过指定
网卡
发送
数据
,实现方式
计算机
网络
中的
网卡
作用
1什么是
网卡
?
网卡
也叫“
网络
适配器”,
网卡
是局域网中最基本的部件之一,它是连接计算机与
网络
的硬件设备。无论是双绞线连接、同轴电缆连接还是...
发送
数据
时,计算机把要传输的
数据
并行写到
网卡
的缓存,
网卡
.
调用send
发送
网络
数据
包一定会立马
发送
出去吗?
Linux应用层调用了send
发送
网络
数据
,那么按照简单的思维,这个动作会触发
网卡
发送
数据
,而现实并不是如此! socket层 首先对于send来说,分为阻塞
发送
和非阻塞
发送
: (1)阻塞操作 内核会检测
发送
缓冲区是否存在...
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章