jmeter beanshell随机生成ipv4 ipv6地址,并输出到文件里

import java.util.Random;
import java.lang.StringBuilder;

public static String getRandomIp() {

        // ip范围
        int[][] range = {
                {607649793, 608174079}, // 36.56.0.0-36.63.255.255
                {1038614529, 1039007743}, // 61.232.0.0-61.237.255.255
                {1783627777, 1784676351}, // 106.80.0.0-106.95.255.255
                {2035023873, 2035154943}, // 121.76.0.0-121.77.255.255
                {2078801921, 2079064063}, // 123.232.0.0-123.235.255.255
                {-1950089215, -1948778497}, // 139.196.0.0-139.215.255.255
                {-1425539071, -1425014785}, // 171.8.0.0-171.15.255.255
                {-1236271103, -1235419137}, // 182.80.0.0-182.92.255.255
                {-770113535, -768606209}, // 210.25.0.0-210.47.255.255
                {-569376767, -564133889}, // 222.16.0.0-222.95.255.255
        };

        Random random = new Random();
        int index = random.nextInt(10);
        String ip = num2ip(range[index][0] + new Random().nextInt(range[index][1] - range[index][0]));
        return ip;
    }

 public static String generateRandomIPv6() {
    Random random =new Random();
    StringBuilder ipv6Builder = new StringBuilder();

	for (int i=0;i<8;i++){
	    int field = random.nextInt(65536);
	    ipv6Builder.append(Integer.toHexString(field));
	    if(i != 7){
	        ipv6Builder.append(":");
	    }
	}
	return ipv6Builder.toString();
}

    /*
     * 将十进制转换成IP地址
     */
    public static String num2ip(int ip) {
        int[] b = new int[4];
        String ipStr = "";
        b[0] = (int) ((ip >> 24) & 0xff);
        b[1] = (int) ((ip >> 16) & 0xff);
        b[2] = (int) ((ip >> 8) & 0xff);
        b[3] = (int) (ip & 0xff);
        ipStr = Integer.toString(b[0]) + "." + Integer.toString(b[1]) + "." + Integer.toString(b[2]) + "." + Integer.toString(b[3]);
        return ipStr;
    }

  StringBuilder stringBuilder = new StringBuilder();
        Random random = new Random();
        for(int i=0 ; i<19; i++){
            int digit = random.nextInt(10);
            stringBuilder.append(digit);
        }
        String randomIp = getRandomIp()+"/25";
        String randomIpv6 = generateRandomIPv6()+"/126";
        vars.put("ip",randomIp);
        vars.put("randomCode",stringBuilder.toString());
        String lineCode=stringBuilder.toString()+"1";
        Random random = new Random();
        String vlan = String.valueOf(random.nextInt(2001) + 1000);
        String subport = vlan+vlan;
        String rd = vlan+":"+"647520004";
        String rd2 = vlan+":"+"647520003";
        String rt = vlan+":"+"647520004";
        String evpnName = "VPN-PRESSURE-"+vlan;
        vars.put("evpnName",evpnName);
        vars.put("vlan",vlan);
        vars.put("rd",rd);
        vars.put("rd2",rd2);
        vars.put("rt",rt);
        vars.put("subport",subport);
        vars.put("lineCode",lineCode);
        vars.put("ipv6",randomIpv6);
       
        File file=new File("E:\\lineCode.txt");
FileWriter fw=new FileWriter(file,true);
BufferedWriter out=new BufferedWriter(fw);
        out.write(vars.get("lineCode"));
        out.write(",");//换列
        out.close();
        fw.close();



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值