用同一台PC的两个网口实现Iperf的server端和client端

用同一台PC的两个网口实现Iperf的server端和client端

2015年10月20日 20:35:11

阅读数:2943

有时候需要发包,仅仅需要一定速率的流量,并不需要关心收到报文的大小,一个好用的开源软件发包工具并不好找,iperf发包很方便,但是一般需要两台电脑,分别作为server端和client端,如果使用一个PC的两个端口分别作为Iperf的Server端和Client端,只需要一台电脑,作为一个可携带的发包工具,会大大方便携带与使用。

将一台电脑的两个端口分别配置为不同的网段,如下:

  1. ifconfig eth2 10.50.0.1/24

  2.  

    ifconfig eth3 10.50.1.1/24

通过NAT实现IP源IP和目的IP转换:

  1. # nat source IP 10.50.0.1 -> 10.60.0.1 when going to 10.60.1.1

  2.  

    iptables -t nat -A POSTROUTING -s 10.50.0.1 -d 10.60.1.1 -j SNAT --to-source 10.60.0.1

  3.  

  4.  

    # nat inbound 10.60.0.1 -> 10.50.0.1

  5.  

    iptables -t nat -A PREROUTING -d 10.60.0.1 -j DNAT --to-destination 10.50.0.1

  6.  

  7.  

    # nat source IP 10.50.1.1 -> 10.60.1.1 when going to 10.60.0.1

  8.  

    iptables -t nat -A POSTROUTING -s 10.50.1.1 -d 10.60.0.1 -j SNAT --to-source 10.60.1.1

  9.  

  10.  

    # nat inbound 10.60.1.1 -> 10.50.1.1

  11.  

    iptables -t nat -A PREROUTING -d 10.60.1.1 -j DNAT --to-destination 10.50.1.1

配置路由和ARP

  1. ip route add 10.60.1.1 dev eth2

  2.  

    arp -i eth2 -s 10.60.1.1 00:1B:21:C1:F6:0F # eth3‘s mac address

  3.  

  4.  

    ip route add 10.60.0.1 dev eth3

  5.  

    arp -i eth3 -s 10.60.0.1 00:1B:21:C1:F6:0E # eth2‘s mac address

检查网络

ping 10.60.1.1

运行iperf

  1. # server

  2.  

    ./iperf -B 10.50.1.1 -s

  3.  

  4.  

    # client: your destination is the other end‘s fake address

  5.  

    ./iperf -B 10.50.0.1 -c 10.60.1.1 -t 60 -i 10

TCPDUMP检查

tcpdump -nn -i eth2 -c 500

原文地址:https://www.cnblogs.com/zafu/p/9515085.html

时间: 2024-10-11 05:37:04

用同一台PC的两个网口实现Iperf的server端和client端的相关文章

如何在一台PC上装两个版本的python

在之前学习爬虫的时候,使用的是python2.7,现在主流已经是3.7了. 在这里,写了一下如何在2.7的基础上安装python3.6 一:检查python版本 1.cmd 二:安装python3 1.下载 2.安装 3.配置环境变量 4.修改python.exe 将python.exe修改为python3.exe 5.效果 原文地址:https://www.cnblogs.com/juncaoit/p/9350780.html

如何使用一台PC搭建可以在线迁移的KVM学习环境

本文解答以下问题: 如何用一台PC单机KVM虚拟机的在线迁移实验环境? 如果对虚拟化是零知识,应该学习VMWare.XEN.HyperV还是KVM,或者是容器技术? 如何用一台PC搭建KVM虚拟机的在线迁移实验环境? 大家知道,如果要做虚拟机的在线迁移,需要至少2台宿主机,加至少一台共享存储,才能完成. 对于土豪来说,这个不是问题,但是对于屌丝来说,往往条件受限,只有一台PC,通常还是Windows系统,往往要做在线迁移这样的实验,就非常困难,其实这个问题是有办法解决的. 解决方法请看下表: 插

用C语言socket RAW功能实现同一台主机两个网口间数据收发

1,本例子使用一台PC,有两个网口,OS为CENTOS 6.8,然后使用两条网线分别都连接到同一个交换机上,当数据经过交换机时,交换机的数据灯会闪烁,否则就没有数据通过交换机. 2,开始测试,刚开始理所当然的想到的是TCP Server/TCP Client模式,建立socket     int server_sockfd = socket(AF_INET,SOCK_STREAM, 0);     struct sockaddr_in server_sockaddr;     server_so

玩转GNS3——实现两台路由设备与两台PC设备之间互联

之前博主介绍了虚拟软件GNS3的详细安装流程,以及做了CPU占用率的部分优化.既然准备工作都已经做好了,那咱们就来实际玩一玩,用GNS3来实现两台路由设备与两台PC设备之间的互通互联. 首先,我们双击这只呆萌的变色龙 进入GNS3的界面之后,我们选择两个路由设备与PC设备,分别拖放到拓扑操作区中 为了实现路由互通互联的功能,R1和R2设备都要设置一下 R1和R2设备要设置一下硬盘空间 下一步开始连线,点PC设备会提示选择网卡 连接R1设备的接口我用的是f0/0 R1接口可用的只有f0/1 连接到

一台PC双网卡,一个外网一个内网

问题:一台PC双网卡,一个连外网一个连内网.用户主要访问外网,内网只访问有限的几个ip.因为外网很大,一般人公司内网常访问的ip是有限的几个. 现在如何做到在上外网的同时也能访问内网的系统?明明两个网卡都连上了,为何只能访问先连上的那个网卡指定的网络呢? 答:当你访问某个ip地址的时候,电脑不知道通过哪个网卡去访问,它懵逼了. 解决方案:你要通过手动配置来告诉电脑,类似什么样的IP通过哪个网卡访问,这个方式通常叫“定义静态路由”,可以通过使用dos的route命令实现. 在这里,因为我们内网系统

十年前,女:“对不起,我不会喜欢你的,你不要再坚持了,就好比让 Linux 和 Windows 同时运行在一台PC机上,可能吗?

1.十年前,女:"对不起,我不会喜欢你的,你不要再坚持了,就好比让 Linux 和 Windows 同时运行在一台PC机上,可能吗?"男生听后默默走开, 十年后,在一次虚拟技术大会上,我听到一名虚拟技术开发程序员给我讲述了这个故事. 2.程序猿问程序媛:"为什么要离开我,我做得还不够好吗?" 媛说:"别傻了,我们根本就是两个世界里的人,就像在JS里永远都无法调用JAVA类一 样,我们之间也是不可能的." 猿沉默了很久,转身离开了.一个月之后,他在

局域网内任何一台pc上windows下eclipse远程连接hbase数据库

通过很长一段时间的反复失败,终于在windows下实现远程连接hbase数据库,在不断的尝试过程中深感一个详细的文档的重要性,于是就把我配置的详细过程记录下来.文中如果有些地方用词不当,或者理解错误,欢迎您们评论. 一.运行平台 hbase服务器端:Ubuntu 14.04 64位:HBASE1.1.3:JAVA 1.8: hbase客服端:windows32/64位:JAVA1.8:eclipse 4.5: 二.linux服务器端环境配置 1.  安装java 1.8软件 1)下载java软件

在多台PC之间同步Resharper所有设置的方法

默认情况下Resharper只允许导出CodeStyle的设置,对于其它的设置不能导出,这样在不利用我们在多台PC之间同步Resharper的设置,经过多次尝试和Google找到了一种解决办法: Resharper会将所有的设置保存到AppData目录下,只有拷贝并覆盖该设置目录就行了.设置的保存目录依系统可能会有所不同,例如在我的win7上就是在C:\Users\user\AppData\Roaming\JetBrains目录下.

windows 测试两台电脑(两个ip)是否在同一个局域网

windows 测试两台电脑(两个ip)是否在同一个局域网 CreateTime--2018年5月4日11:28:38 Author:Marydon 1.查看A电脑的ip win+r-->cmd-->ipcofig-->选中ip4对应的值-->按右键完成复制 2.B电脑通过ping来判断网络是否畅通 win+r-->cmd-->ping 192.168.200.158-->回车 3.小结 请求超时,说明网络不通,即这两台电脑不在同一个局域网下: 来自192.168