模拟生成互联网数据
域名 baidu.com
时间 [09/01/2019 00:01:02 +0800]
流量 4090 一部分日志是正确(数值类型) 一部分日志是错误的(字符串类型)
ip x.x.x.x
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
public class CreateWebLog {
private static SimpleDateFormat sdf = new SimpleDateFormat("[MM/dd/yyyy HH:mm:ss +0800]");
private static int getRandom(int bound, int start) {
Random random = new Random();
int randomNumber = random.nextInt(bound - start) + start;
return randomNumber;
}
private static String getElement(int elementLenth) {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < elementLenth; i++) {
int letterNumber = getRandom(27, 1);
buffer.append(String.valueOf((char) (96 + letterNumber)).toLowerCase());
}
return buffer.toString();
}
private static String getDomainName() {
StringBuffer buffer = new StringBuffer();
int domainNameNumber = getRandom(3, 1);
for (int i = 0; i < domainNameNumber; i++) {
buffer.append(getElement(getRandom(10, 2)));
buffer.append(".");
}
if (getRandom(17, 0) % 2 == 0) {
buffer.append("com");
} else {
buffer.append("cn");
}
return buffer.toString();
}
private static String getIP() {
StringBuffer buffer = new StringBuffer();
switch (getRandom(20, 1) % 3) {
case 0:
buffer.append(10).append(".").append(getRandom(254, 1)).append(".").append(getRandom(254, 1)).append(".").append(getRandom(254, 1));
break;
case 1:
buffer.append(172).append(".").append(getRandom(32, 16)).append(".").append(getRandom(254, 1)).append(".").append(getRandom(254, 1));
break;
default:
buffer.append("192.168.").append(getRandom(254, 1)).append(".").append(getRandom(254, 1));
break;
}
return buffer.toString();
}
private static String getDateTime() {
String ctime = sdf.format(new Date(1000L * getRandom(1567182221, 1030724621)));
return ctime;
}
private static String getFlow() {
if (getRandom(40, 4) % 7 == 0) {
return getElement(getRandom(10, 4));
} else {
return getRandom(100000, 10) + "";
}
}
public static String getLog() {
StringBuffer buffer = new StringBuffer();
buffer.append(getDomainName()).append("\t").append(getDateTime()).append("\t").append(getFlow()).append("\t").append(getIP());
return buffer.toString();
}
public static void main(String[] args) {
for (int i = 0; i < 1000; i++) {
System.out.println(getLog());
}
}
}
结果展示
medpb.ye.cn [11/06/2010 04:47:24 +0800] 56773 172.18.228.76
yjsjylccr.com [11/27/2010 07:53:41 +0800] 994 172.30.111.137
absqulzxd.cn [09/14/2014 08:31:36 +0800] vfsnbrd 172.16.212.201
fo.rkvtccgum.com [05/17/2012 11:59:24 +0800] 77715 192.168.48.114
lnd.com [01/31/2007 16:57:03 +0800] 47233 172.30.226.211
xjfbjk.cn [04/21/2012 22:34:45 +0800] 93321 192.168.93.205
dqrjfx.kttmkvj.cn [10/14/2014 11:00:52 +0800] 93690 10.176.109.89
nffhg.olagto.cn [11/20/2004 15:00:35 +0800] 50180 10.230.239.232
mqexzn.cn [12/14/2007 02:46:43 +0800] 14394 172.31.17.22
pfloazd.smzhpuw.com [02/16/2019 08:11:18 +0800] 79834 192.168.203.237
ma.qwqru.com [03/25/2010 23:34:14 +0800] 28955 192.168.37.141
grepmi.com [11/28/2016 00:22:55 +0800] wbudzjunw 192.168.202.125
tqmlszk.fhwmjgs.com [08/31/2013 00:29:28 +0800] 7967 10.19.134.88
ziaastqh.lr.cn [04/20/2010 18:38:55 +0800] 24554 172.30.53.217
jfdjekbi.hdo.com [08/31/2004 13:26:54 +0800] 19702 10.236.151.80
dxqa.gokbc.com [03/20/2019 00:41:03 +0800] 60066 172.22.227.164
oviht.bp.com [06/15/2018 01:29:38 +0800] 73987 10.216.190.65
or.com [10/09/2015 14:14:54 +0800] 56992 192.168.167.130
zccnacuxh.uyfhfqon.cn [09/26/2013 01:05:19 +0800] 98922 192.168.74.217
xjzuew.rtsuwgkq.cn [01/22/2012 15:43:09 +0800] 20644 172.26.46.231
ztz.com [07/07/2012 09:03:33 +0800] ueehjhcrt 172.31.7.137
fbrdrlxu.com [10/06/2005 12:20:30 +0800] 34282 10.115.195.152
idytg.roag.cn [02/18/2004 17:32:36 +0800] 77477 10.35.24.21
bgoeflpyx.cn [07/06/2007 19:29:40 +0800] 68338 172.25.135.71
cffjfve.vimxl.cn [03/18/2019 21:28:20 +0800] 99691 10.80.180.74
bdrgz.com [11/12/2018 21:11:51 +0800] 24371 172.18.97.50
yqxkbolu.cn [01/26/2004 18:53:43 +0800] 44938 172.20.242.62