用来给 nmap 进行对中国范围 Ip 的随机扫描
bit={data32={2147483648,1073741824,536870912,268435456,134217728,67108864,33554432,16777216,8388608,4194304,2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1}}function bit:d2b(arg) local tr={} for i=1,32 do if arg >= self.data32[i] then tr[i]=1 arg=arg-self.data32[i] else tr[i]=0 end end return trend --bit:d2bfunction bit:b2d(arg) local nr=0 for i=1,32 do if arg[i] ==1 then nr=nr+2^(32-i) end end return nrend --bit:b2dfunction bit:_xor(a,b) local op1=self:d2b(a) local op2=self:d2b(b) local r={} for i=1,32 do if op1[i]==op2[i] then r[i]=0 else r[i]=1 end end return self:b2d(r)end --bit:xorfunction bit:_and(a,b) local op1=self:d2b(a) local op2=self:d2b(b) local r={} for i=1,32 do if op1[i]==1 and op2[i]==1 then r[i]=1 else r[i]=0 end end return self:b2d(r)end --bit:_andfunction bit:_or(a,b) local op1=self:d2b(a) local op2=self:d2b(b) local r={} for i=1,32 do if op1[i]==1 or op2[i]==1 then r[i]=1 else r[i]=0 end end return self:b2d(r)end --bit:_orfunction bit:_not(a) local op1=self:d2b(a) local r={} for i=1,32 do if op1[i]==1 then r[i]=0 else r[i]=1 end end return self:b2d(r)end --bit:_notfunction bit:_rshift(a,n) local op1=self:d2b(a) local r=self:d2b(0) if n < 32 and n > 0 then for i=1,n do for i=31,1,-1 do op1[i+1]=op1[i] end op1[1]=0 end r=op1 end return self:b2d(r)end --bit:_rshiftfunction bit:_lshift(a,n) local op1=self:d2b(a) local r=self:d2b(0) if n < 32 and n > 0 then for i=1,n do for i=1,31 do op1[i]=op1[i+1] end op1[32]=0 end r=op1 end return self:b2d(r)end --bit:_lshiftfunction bit:print(ta) local sr="" for i=1,32 do sr=sr..ta[i] end print(sr)endlocal ips = { {"47.153.128.0","47.154.255.255"},{"58.14.0.0","58.25.255.255"},{"58.30.0.0","58.63.255.255"},{"58.66.0.0","58.68.255.255"},{"58.82.0.0","58.83.255.255"},{"58.87.64.0","58.87.127.255"},{"58.99.128.0","58.101.255.255"},{"58.116.0.0","58.119.255.255"},{"58.128.0.0","58.135.255.255"},{"58.144.0.0","58.144.255.255"},{"58.154.0.0","58.155.255.255"},{"58.192.0.0","58.223.255.255"},{"58.240.0.0","58.255.255.255"},{"59.32.0.0","59.65.255.255"},{"59.67.0.0","59.83.255.255"},{"59.107.0.0","59.111.255.255"},{"59.151.0.0","59.151.127.255"},{"59.155.0.0","59.155.255.255"},{"59.172.0.0","59.175.255.255"},{"59.191.0.0","59.201.255.255"},{"59.201.255.255","59.211.255.255"},{"59.211.255.255","59.221.255.255"},{"59.221.255.255","59.231.255.255"},{"59.231.255.255","59.241.255.255"},{"59.241.255.255","59.251.255.255"},{"59.251.255.255","59.255.255.255"},{"60.0.0.0","60.11.255.255"},{"60.11.255.255","60.21.255.255"},{"60.21.255.255","60.31.255.255"},{"60.55.0.0","60.55.255.255"},{"60.63.0.0","60.63.255.255"},{"60.160.0.0","60.171.255.255"},{"60.171.255.255","60.181.255.255"},{"60.181.255.255","60.191.255.255"},{"60.194.0.0","60.195.255.255"},{"60.200.0.0","60.223.255.255"},{"60.232.0.0","60.233.255.255"},{"60.235.0.0","60.235.255.255"},{"60.245.128.0","60.245.255.255"},{"60.247.0.0","60.247.255.255"},{"60.252.0.0","60.253.255.255"},{"60.255.0.0","60.255.255.255"},{"61.4.64.0","61.4.191.255"},{"61.8.160.0","61.8.175.255"},{"61.26.103.0","61.26.103.255"},{"61.28.0.0","61.29.255.255"},{"61.45.128.0","61.45.191.255"},{"61.47.128.0","61.55.255.255"},{"61.87.192.0","61.87.255.255"},{"61.128.0.0","61.131.255.255"},{"61.131.255.255","61.141.255.255"},{"61.141.255.255","61.151.255.255"},{"61.151.255.255","61.161.255.255"},{"61.161.255.255","61.171.255.255"},{"61.171.255.255","61.181.255.255"},{"61.181.255.255","61.191.255.255"},{"61.232.0.0","61.237.255.255"},{"61.240.0.0","61.243.255.255"},{"80.227.196.0","80.227.196.255"},{"116.1.0.0","116.11.255.255"},{"116.13.0.0","116.13.255.255"},{"116.16.0.0","116.23.255.255"},{"116.23.255.255","116.31.255.255"},{"116.52.0.0","116.58.223.255"},{"116.60.0.0","116.63.255.255"},{"116.66.0.0","116.66.127.255"},{"116.69.0.0","116.70.127.255"},{"116.76.0.0","116.79.255.255"},{"116.89.144.0","116.90.191.255"},{"116.95.0.0","116.95.255.255"},{"116.112.0.0","116.117.255.255"},{"116.128.0.0","116.135.255.255"},{"116.135.255.255","116.145.255.255"},{"116.145.255.255","116.155.255.255"},{"116.155.255.255","116.165.255.255"},{"116.165.255.255","116.175.255.255"},{"116.175.255.255","116.185.255.255"},{"116.185.255.255","116.195.255.255"},{"116.198.0.0","116.199.159.255"},{"116.204.0.0","116.205.255.255"},{"116.207.0.0","116.219.255.255"},{"116.224.0.0","116.239.255.255"},{"116.242.0.0","116.249.255.255"},{"116.252.0.0","116.255.255.255"},{"117.8.0.0","117.15.255.255"},{"117.21.0.0","117.45.255.255"},{"117.48.0.0","117.51.255.255"},{"117.53.48.0","117.53.191.255"},{"117.57.0.0","117.95.255.255"},{"117.100.0.0","117.101.255.255"},{"117.103.16.0","117.103.143.255"},{"117.106.0.0","117.107.255.255"},{"117.112.0.0","117.191.255.255"},{"118.21.0.0","118.21.255.255"},{"118.24.0.0","118.26.255.255"},{"118.45.36.0","118.45.36.255"},{"118.72.0.0","118.79.255.255"},{"118.81.0.0","118.81.255.255"},{"118.84.0.0","118.84.255.255"},{"118.88.0.0","118.88.255.255"},{"118.91.0.0","118.91.255.255"},{"118.112.0.0","118.126.255.255"},{"118.144.0.0","118.147.255.255"},{"118.192.0.0","118.192.127.255"},{"118.197.0.0","118.197.255.255"},{"118.205.0.0","118.205.255.255"},{"118.212.0.0","118.229.219.255"},{"118.244.0.0","118.245.255.255"},{"118.248.0.0","118.249.255.255"},{"119.0.0.0","119.5.255.255"},{"119.12.0.0","119.12.255.255"},{"119.18.0.0","119.23.255.255"},{"119.32.20.0","119.32.63.255"},{"119.36.0.0","119.36.255.255"},{"119.38.0.0","119.40.255.255"},{"119.45.192.0","119.45.255.255"},{"119.48.0.0","119.48.255.255"},{"119.81.0.0","119.81.255.255"},{"119.96.0.0","119.96.255.255"},{"119.112.0.0","119.127.98.255"},{"119.127.98.255","119.137.98.255"},{"119.137.98.255","119.147.98.255"},{"119.161.0.0","119.161.255.255"},{"119.167.0.0","119.167.255.255"},{"120.0.0.0","120.7.255.255"},{"120.32.0.0","120.39.255.255"},{"120.48.0.0","120.48.255.255"},{"120.64.0.0","120.67.255.255"},{"120.87.201.0","120.87.201.255"},{"121.0.16.0","121.0.31.255"},{"121.4.0.0","121.5.255.255"},{"121.8.0.0","121.43.255.255"},{"121.46.0.0","121.49.255.255"},{"121.51.0.0","121.52.255.255"},{"121.55.0.0","121.63.255.255"},{"121.68.0.0","121.71.255.255"},{"121.76.0.0","121.77.255.255"},{"121.79.128.0","121.79.191.255"},{"121.89.0.0","121.89.255.255"},{"121.100.128.0","121.101.223.255"},{"121.192.0.0","121.199.255.255"},{"121.201.0.0","121.201.255.255"},{"121.204.0.0","121.207.255.255"},{"121.224.0.0","121.239.255.255"},{"121.248.0.0","121.251.255.255"},{"121.255.0.0","121.255.255.255"},{"122.0.64.0","122.0.255.255"},{"122.4.0.0","122.15.255.255"},{"122.17.64.0","122.17.127.255"},{"122.48.0.0","122.49.63.255"},{"122.51.0.0","122.51.255.255"},{"122.64.0.0","122.97.255.255"},{"122.102.0.0","122.102.95.255"},{"122.112.0.0","122.115.255.255"},{"122.136.0.0","122.144.255.255"},{"122.152.192.0","122.152.255.255"},{"122.156.0.0","122.159.255.255"},{"122.186.0.0","122.186.255.255"},{"122.192.0.0","122.195.255.255"},{"122.198.0.0","122.198.255.255"},{"122.200.64.0","122.200.127.255"},{"122.204.0.0","122.207.255.255"},{"122.224.0.0","122.248.63.255"},{"123.0.128.0","123.0.191.255"},{"123.4.0.0","123.15.255.255"},{"123.49.128.0","123.49.255.255"},{"123.52.0.0","123.101.255.255"},{"123.103.0.0","123.103.127.255"},{"123.108.128.0","123.108.223.255"},{"123.112.0.0","123.139.255.255"},{"123.144.0.0","123.175.255.255"},{"123.177.0.0","123.191.255.255"},{"123.196.0.0","123.197.255.255"},{"123.199.128.0","123.199.255.255"},{"123.206.0.0","123.207.255.255"},{"123.232.0.0","123.235.255.255"},{"123.242.0.0","123.242.127.255"},{"123.244.0.0","123.247.255.255"},{"123.249.0.0","123.249.255.255"},{"123.253.0.0","123.253.255.255"},{"124.6.64.0","124.6.127.255"},{"124.14.0.0","124.17.255.255"},{"124.20.0.0","124.23.255.255"},{"124.28.192.0","124.29.127.255"},{"124.31.0.0","124.31.255.255"},{"124.40.112.0","124.40.191.255"},{"124.42.0.0","124.42.255.255"},{"124.47.0.0","124.47.63.255"},{"124.64.0.0","124.79.255.255"},{"124.88.0.0","124.95.255.255"},{"124.108.8.0","124.108.47.255"},{"124.112.0.0","124.119.255.255"},{"124.126.0.0","124.135.255.255"},{"124.147.128.0","124.147.255.255"},{"124.156.0.0","124.156.255.255"},{"124.160.0.0","124.167.255.255"},{"124.172.0.0","124.175.255.255"},{"124.192.0.0","124.193.255.255"},{"124.196.0.0","124.196.255.255"},{"124.200.0.0","124.207.255.255"},{"124.220.0.0","124.240.191.255"},{"124.242.0.0","124.243.255.255"},{"124.248.0.0","124.251.255.255"},{"124.254.0.0","124.254.63.255"},{"125.31.192.0","125.47.255.255"},{"125.58.128.0","125.58.255.255"},{"125.61.128.0","125.62.63.255"},{"125.64.0.0","125.98.255.255"},{"125.104.0.0","125.127.255.255"},{"125.169.0.0","125.169.255.255"},{"125.171.0.0","125.171.255.255"},{"125.208.0.0","125.208.63.255"},{"125.210.0.0","125.211.255.255"},{"125.213.0.0","125.223.255.255"},{"125.254.128.0","125.254.255.255"},{"132.246.27.0","132.246.27.255"},{"147.243.224.0","147.243.255.255"},{"159.226.0.0","159.226.255.255"},{"161.207.0.0","161.207.255.255"},{"162.105.0.0","162.105.255.255"},{"167.139.0.0","167.139.255.255"},{"168.160.0.0","168.160.255.255"},{"192.188.170.0","192.188.170.255"},{"192.192.9.0","192.192.78.255"},{"194.54.88.32","194.54.88.47"},{"194.117.101.45","194.117.119.101"},{"195.112.167.20","195.112.177.127"},{"199.64.0.0","199.64.0.255"},{"202.0.110.0","202.0.110.255"},{"202.3.77.0","202.4.255.255"},{"202.8.128.0","202.8.159.255"},{"202.10.64.0","202.12.19.255"},{"202.14.88.0","202.14.238.255"},{"202.20.120.0","202.20.120.255"},{"202.22.248.0","202.22.255.255"},{"202.38.0.0","202.38.191.255"},{"202.41.142.0","202.41.255.255"},{"202.43.144.0","202.43.159.255"},{"202.46.224.0","202.46.239.255"},{"202.60.112.0","202.60.127.255"},{"202.63.248.0","202.63.251.255"},{"202.69.16.0","202.70.31.255"},{"202.74.8.0","202.76.240.255"},{"202.85.208.0","202.85.223.255"},{"202.90.0.0","202.104.27.255"},{"202.104.27.255","202.114.27.255"},{"202.114.27.255","202.124.27.255"},{"202.127.0.0","202.127.255.255"},{"202.130.0.0","202.131.223.255"},{"202.136.48.0","202.136.255.255"},{"202.141.160.0","202.143.31.255"},{"202.148.96.0","202.150.31.255"},{"202.152.176.0","202.153.63.255"},{"202.158.160.0","202.158.200.255"},{"202.160.168.0","202.160.191.255"},{"202.164.0.0","202.168.190.255"},{"202.170.216.0","202.170.224.255"},{"202.173.8.0","202.173.255.255"},{"202.179.240.0","202.181.127.255"},{"202.189.80.0","202.189.95.255"},{"202.192.0.0","202.207.255.255"},{"202.234.0.0","202.234.255.255"},{"203.79.0.0","203.81.31.255"},{"203.83.56.0","203.83.63.255"},{"203.86.0.0","203.95.111.255"},{"203.99.80.0","203.100.207.255"},{"203.110.160.0","203.110.191.255"},{"203.112.80.0","203.112.95.255"},{"203.118.192.0","203.119.35.255"},{"203.128.96.0","203.128.159.255"},{"203.130.32.0","203.130.63.255"},{"203.132.32.0","203.132.63.255"},{"203.134.240.0","203.135.175.255"},{"203.148.0.0","203.148.63.255"},{"203.152.64.0","203.152.95.255"},{"203.156.192.0","203.156.255.255"},{"203.158.16.0","203.158.23.255"},{"203.160.64.0","203.161.223.255"},{"203.163.73.0","203.163.73.255"},{"203.166.160.0","203.166.191.255"},{"203.171.224.0","203.171.239.255"},{"203.174.7.0","203.176.175.255"},{"203.184.80.0","203.184.95.255"},{"203.187.160.0","203.187.191.255"},{"203.190.96.0","203.192.31.255"},{"203.196.0.0","203.196.7.255"},{"203.207.64.0","203.209.255.255"},{"203.212.0.0","203.212.95.255"},{"210.2.0.0","210.2.31.255"},{"210.5.0.0","210.5.159.255"},{"210.12.0.0","210.16.191.255"},{"210.21.0.0","210.23.32.255"},{"210.25.0.0","210.37.255.255"},{"210.37.255.255","210.47.255.255"},{"210.51.0.0","210.53.255.255"},{"210.56.80.23","210.56.223.255"},{"210.72.0.0","210.79.255.255"},{"210.82.0.0","210.83.255.255"},{"210.87.128.0","210.87.191.255"},{"210.144.136.0","210.144.142.255"},{"210.156.110.0","210.156.110.255"},{"210.166.2.0","210.166.2.255"},{"210.168.1.0","210.168.71.255"},{"210.185.192.0","210.186.24.255"},{"210.192.96.0","210.192.127.255"},{"210.210.159.0","210.211.15.255"},{"211.64.0.0","211.71.255.255"},{"211.80.0.0","211.93.255.255"},{"211.93.255.255","211.103.255.255"},{"211.136.0.0","211.147.255.255"},{"211.147.255.255","211.157.255.255"},{"212.63.181.28","212.63.181.79"},{"218.0.0.0","218.11.255.255"},{"218.11.255.255","218.21.255.255"},{"218.21.255.255","218.31.255.255"},{"218.56.0.0","218.69.255.255"},{"218.69.255.255","218.79.255.255"},{"218.79.255.255","218.89.255.255"},{"218.89.255.255","218.99.255.255"},{"218.104.0.0","218.109.255.255"},{"218.185.192.0","218.185.223.255"},{"218.192.0.0","218.207.255.255"},{"218.240.0.0","218.247.255.255"},{"218.249.0.0","218.249.255.255"},{"219.72.0.0","219.72.255.255"},{"219.82.0.0","219.82.255.255"},{"219.128.0.0","219.139.255.255"},{"219.139.255.255","219.149.255.255"},{"219.216.0.0","219.225.255.255"},{"219.225.255.255","219.239.255.255"},{"219.242.0.0","219.247.255.255"},{"220.101.192.0","220.101.255.255"},{"220.112.0.0","220.115.255.255"},{"220.152.128.0","220.152.255.255"},{"220.154.0.0","220.155.255.255"},{"220.159.242.0","220.167.255.255"},{"220.167.255.255","220.177.255.255"},{"220.177.255.255","220.187.255.255"},{"220.187.255.255","220.197.255.255"},{"220.197.255.255","220.207.255.255"},{"220.231.0.0","220.232.127.255"},{"220.234.0.0","220.234.255.255"},{"220.242.0.0","220.243.255.255"},{"220.248.0.0","220.252.255.255"},{"221.0.0.0","221.15.255.255"},{"221.122.0.0","221.123.255.255"},{"221.129.0.0","221.131.255.255"},{"221.133.224.0","221.133.255.255"},{"221.136.0.0","221.137.255.255"},{"221.172.0.0","221.183.255.255"},{"221.192.0.0","221.202.255.255"},{"221.202.255.255","221.212.255.255"},{"221.212.255.255","221.222.255.255"},{"221.222.255.255","221.239.255.255"},{"222.15.56.0","222.25.255.255"},{"222.25.255.255","222.35.255.255"},{"222.25.255.255","222.45.255.255"},{"222.45.255.255","222.55.255.255"},{"222.55.255.255","222.65.255.255"},{"222.65.255.255","222.75.255.255"},{"222.75.255.255","222.85.255.255"},{"222.85.255.255","222.95.255.255"},{"222.125.0.0","222.126.255.255"},{"222.128.0.0","222.143.255.255"},{"222.160.0.0","222.163.255.255"},{"222.167.134.0","222.223.255.255"},{"222.240.0.0","222.249.255.255"},{"58.32.0.0","58.63.161.255"},{"58.155.148.0","58.155.151.255"},{"58.208.0.0","58.223.255.255"},{"58.246.242.0","58.246.250.255"},{"59.32.0.0","59.63.231.255"},{"59.172.0.0","59.175.255.255"},{"60.21.212.9","60.21.212.23"},{"60.29.11.0","60.29.11.255"},{"60.160.0.0","60.191.255.255"},{"60.194.0.0","60.195.255.255"},{"60.235.0.0","60.235.255.255"},{"61.49.121.0","61.51.125.255"},{"61.128.0.0","61.134.95.255"},{"61.136.64.0","61.147.255.255"},{"61.150.0.0","61.161.127.255"},{"61.164.0.0","61.167.27.30"},{"61.169.0.0","61.175.255.255"},{"61.177.0.0","61.191.255.255"},{"61.232.235.0","61.232.235.255"},{"61.235.21.0","61.236.68.255"},{"61.241.181.142","61.241.231.75"},{"116.1.0.0","116.1.255.255"},{"116.4.0.0","116.11.255.255"},{"116.16.0.0","116.31.255.255"},{"116.52.0.0","116.55.255.255"},{"116.70.49.0","116.70.49.255"},{"116.192.0.0","116.192.255.255"},{"116.207.0.0","116.212.175.255"},{"116.215.14.0","116.215.26.255"},{"116.224.0.0","116.239.255.255"},{"116.242.0.0","116.243.255.255"},{"116.246.0.0","116.249.255.255"},{"116.252.0.0","116.253.255.255"},{"117.21.0.0","117.45.255.255"},{"117.57.0.0","117.57.255.255"},{"117.60.0.0","117.71.255.255"},{"117.79.144.0","117.95.255.255"},{"118.45.36.0","118.45.36.255"},{"118.112.0.0","118.125.255.255"},{"118.213.0.0","118.213.255.255"},{"118.248.0.0","118.249.255.255"},{"119.0.0.0","119.1.255.255"},{"119.39.25.0","119.39.25.255"},{"119.45.255.0","119.45.255.255"},{"119.96.0.0","119.96.255.255"},{"119.120.0.0","119.147.98.255"},{"120.34.64.0","120.39.255.255"},{"121.8.0.0","121.15.255.255"},{"121.32.0.0","121.35.255.255"},{"121.56.0.0","121.63.255.255"},{"121.68.191.0","121.68.191.255"},{"121.204.0.0","121.207.255.255"},{"121.224.0.0","121.239.255.255"},{"122.4.0.0","122.7.255.255"},{"122.11.62.0","122.11.62.255"},{"122.102.80.0","122.102.95.255"},{"122.186.0.0","122.186.255.255"},{"122.224.0.0","122.247.255.255"},{"123.52.0.0","123.55.255.255"},{"123.96.169.0","123.97.255.255"},{"123.101.0.0","123.101.255.255"},{"123.160.0.0","123.175.255.255"},{"123.177.0.0","123.177.255.255"},{"123.180.0.0","123.187.255.255"},{"123.244.0.0","123.247.255.255"},{"123.253.76.0","123.253.126.255"},{"124.31.0.0","124.31.255.255"},{"124.68.192.0","124.68.192.255"},{"124.72.0.0","124.79.255.255"},{"124.112.0.0","124.119.255.255"},{"124.126.0.0","124.126.63.255"},{"124.192.0.0","124.193.255.255"},{"124.202.0.0","124.207.255.255"},{"124.224.0.0","124.240.104.255"},{"124.243.201.0","124.243.201.255"},{"125.64.0.0","125.95.255.255"},{"125.104.0.0","125.127.255.255"},{"202.38.32.0","202.38.174.255"},{"202.75.208.0","202.75.223.255"},{"202.96.18.0","202.105.255.255"},{"202.107.128.0","202.107.255.255"},{"202.109.0.0","202.111.255.255"},{"202.120.37.0","202.120.39.248"},{"202.167.235.128","202.167.236.255"},{"202.173.224.0","202.173.255.255"},{"202.199.212.0","202.199.215.255"},{"202.205.234.0","202.205.235.255"},{"203.93.50.0","203.93.50.255"},{"210.5.128.0","210.5.143.255"},{"210.13.255.0","210.13.255.255"},{"210.22.45.0","210.22.45.255"},{"210.51.228.230","210.52.61.255"},{"210.75.96.0","210.75.105.1"},{"210.77.32.0","210.77.63.255"},{"210.168.1.0","210.168.71.255"},{"211.67.66.0","211.68.70.255"},{"211.100.209.169","211.101.127.255"},{"211.103.128.0","211.103.255.255"},{"211.145.197.0","211.145.197.255"},{"211.147.0.0","211.148.159.255"},{"211.152.50.0","211.152.57.255"},{"211.154.8.131","211.156.30.255"},{"211.158.11.0","211.158.11.11"},{"211.162.80.0","211.162.81.255"},{"211.167.233.0","211.167.255.255"},{"218.0.0.0","218.6.255.255"},{"218.8.190.105","218.11.246.255"},{"218.13.0.0","218.24.6.255"},{"218.26.231.162","218.31.255.255"},{"218.56.0.0","218.56.2.255"},{"218.58.6.0","218.59.126.255"},{"218.61.32.0","218.67.127.255"},{"218.69.215.245","218.97.248.255"},{"218.104.223.0","218.104.223.255"},{"218.106.156.0","218.106.156.255"},{"218.200.153.0","218.201.229.255"},{"218.204.75.0","218.204.75.255"},{"218.241.64.0","218.241.255.255"},{"218.244.62.0","218.244.255.255"},{"218.246.160.0","218.247.255.255"},{"218.249.0.0","218.249.255.255"},{"219.72.235.0","219.72.236.255"},{"219.128.0.0","219.154.94.28"},{"219.159.51.161","219.159.254.255"},{"219.234.128.0","219.235.63.255"},{"219.238.0.192","219.239.255.255"},{"219.243.140.0","219.243.140.255"},{"220.154.230.0","220.154.230.255"},{"220.160.0.0","220.191.239.255"},{"220.250.12.0","220.250.12.255"},{"221.7.62.0","221.7.62.255"},{"221.14.243.0","221.14.243.255"},{"221.136.214.3","221.136.219.181"},{"221.224.0.0","221.239.255.255"},{"222.15.59.0","222.15.59.255"},{"222.35.12.0","222.36.76.255"},{"222.39.112.13","222.39.112.16"},{"222.64.0.0","222.95.255.255"},{"222.132.112.0","222.132.127.255"},{"222.141.207.0","222.141.207.255"},{"222.168.0.0","222.191.255.255"},{"222.199.146.0","222.199.146.255"},{"222.208.0.0","222.223.240.255"},{"222.240.0.0","222.247.255.255"},{"58.66.0.0","58.67.255.255"},{"58.82.0.0","58.83.255.255"},{"58.252.146.0","58.253.31.255"},{"59.46.48.0","59.46.172.255"},{"59.49.12.40","59.49.127.255"},{"59.53.52.0","59.54.127.255"},{"59.63.160.0","59.63.255.255"},{"59.107.57.0","59.107.127.255"},{"59.110.0.0","59.111.180.255"},{"59.151.48.0","59.151.53.255"},{"59.155.0.0","59.155.255.255"},{"59.191.0.0","59.191.127.255"},{"60.2.89.0","60.2.89.255"},{"60.30.96.0","60.30.142.255"},{"60.179.136.0","60.179.136.255"},{"60.190.238.161","60.190.238.178"},{"60.204.128.0","60.205.255.255"},{"60.233.150.0","60.233.150.255"},{"61.29.241.0","61.29.255.255"},{"61.136.122.0","61.136.123.255"},{"61.142.111.105","61.142.247.154"},{"61.163.210.247","61.163.245.255"},{"61.178.237.0","61.178.237.255"},{"61.185.237.120","61.185.238.251"},{"61.187.7.200","61.187.8.255"},{"61.232.0.0","61.237.255.255"},{"61.240.191.0","61.241.252.255"},{"116.52.2.177","116.52.2.189"},{"116.60.0.0","116.63.225.255"},{"116.194.0.0","116.194.255.255"},{"116.204.0.0","116.205.255.255"},{"116.215.67.0","116.217.231.255"},{"116.244.37.0","116.244.127.255"},{"116.254.128.0","116.254.199.255"},{"117.45.224.0","117.45.247.255"},{"117.48.44.0","117.48.235.255"},{"117.51.0.0","117.51.255.255"},{"117.75.0.0","117.76.247.255"},{"117.78.0.0","117.79.151.255"},{"117.101.128.0","117.101.128.255"},{"117.121.0.0","117.126.255.255"},{"117.147.0.0","117.147.255.255"},{"118.24.193.0","118.26.255.255"},{"118.126.65.0","118.126.66.255"},{"118.147.48.0","118.147.255.255"},{"118.192.0.0","118.192.127.255"},{"118.205.0.0","118.205.255.255"},{"118.244.64.0","118.245.66.255"},{"119.3.0.0","119.3.22.255"},{"119.20.40.0","119.20.40.255"},{"119.39.254.0","119.39.254.255"},{"119.45.192.0","119.45.192.255"},{"119.81.128.0","119.81.128.255"},{"120.65.0.0","120.66.49.255"},{"121.36.20.0","121.36.247.255"},{"121.40.0.0","121.43.255.255"},{"121.46.0.0","121.46.250.255"},{"121.51.0.0","121.51.255.255"},{"121.55.0.0","121.55.50.255"},{"121.68.0.0","121.71.127.255"},{"121.100.128.0","121.100.255.255"},{"121.201.0.0","121.201.191.255"},{"122.0.128.0","122.0.255.255"},{"122.7.52.0","122.15.143.255"},{"122.17.64.0","122.17.127.255"},{"122.48.0.0","122.48.199.255"},{"122.51.64.0","122.51.98.255"},{"122.64.0.0","122.95.255.255"},{"122.198.0.0","122.198.63.255"},{"122.224.166.138","122.224.187.255"},{"123.49.128.0","123.49.255.255"},{"123.56.0.0","123.96.168.255"},{"123.150.0.0","123.151.14.255"},{"123.196.0.0","123.197.121.255"},{"123.249.0.0","123.249.207.255"},{"123.253.76.0","123.253.203.255"},{"124.21.192.0","124.21.255.255"},{"124.147.128.0","124.147.255.255"},{"124.156.0.0","124.156.255.255"},{"124.172.0.0","124.173.243.255"},{"124.200.0.0","124.201.255.255"},{"124.203.183.0","124.203.247.255"},{"124.235.128.0","124.235.128.255"},{"124.239.193.0","124.240.98.255"},{"124.248.0.0","124.251.255.255"},{"125.39.0.0","125.39.0.255"},{"125.116.166.0","125.116.171.255"},{"125.171.160.0","125.171.195.255"},{"125.213.0.0","125.213.127.255"},{"125.254.128.0","125.254.191.255"},{"202.110.98.0","202.110.98.255"},{"202.127.116.0","202.127.119.255"},{"202.173.8.0","202.173.15.255"},{"203.80.144.0","203.80.159.255"},{"203.88.222.0","203.88.223.255"},{"203.135.119.0","203.135.119.255"},{"210.12.91.0","210.12.100.255"},{"210.16.128.0","210.16.189.255"},{"210.52.80.0","210.52.80.127"},{"210.56.192.0","210.56.223.255"},{"210.87.140.0","210.87.144.255"},{"211.92.172.0","211.92.175.255"},{"211.98.0.0","211.98.255.255"},{"211.103.16.0","211.103.24.255"},{"211.148.64.0","211.149.255.255"},{"211.155.96.0","211.155.127.255"},{"218.7.129.2","218.7.129.40"},{"218.23.163.75","218.25.77.122"},{"218.28.13.187","218.28.131.93"},{"218.65.208.0","218.65.211.255"},{"218.86.6.191","218.86.6.255"},{"218.240.28.0","218.241.63.255"},{"219.72.228.0","219.72.229.255"},{"219.138.11.70","219.138.45.245"},{"219.144.162.199","219.146.197.165"},{"219.149.236.78","219.150.190.255"},{"220.152.128.0","220.152.191.255"},{"220.189.92.27","220.189.92.157"},{"220.195.8.0","220.195.8.185"},{"220.243.103.0","220.243.119.255"},{"220.248.229.49","220.248.229.202"},{"221.7.208.17","221.7.208.30"},{"221.11.99.0","221.12.190.61"},{"221.122.128.0","221.123.128.255"},{"221.172.0.0","221.175.255.255"},{"221.238.169.0","221.238.179.255"},{"222.21.224.0","222.21.224.255"},{"222.32.0.0","222.63.255.255"},{"222.85.83.0","222.85.126.230"},{"222.90.71.255","222.90.208.226"},{"222.172.224.128","222.172.224.255"},{"222.223.53.0","222.223.255.255"},{"58.16.0.0","58.23.255.255"},{"58.60.3.129","58.61.31.179"},{"58.99.190.0","58.99.191.255"},{"58.144.0.0","58.144.255.255"},{"58.211.124.24","58.211.229.18"},{"58.240.0.0","58.255.255.255"},{"59.49.16.180","59.49.19.154"},{"59.111.12.0","59.111.32.255"},{"60.0.0.0","60.31.255.255"},{"60.55.0.0","60.55.255.255"},{"60.194.14.0","60.194.192.254"},{"60.208.0.0","60.223.255.255"},{"61.4.64.0","61.4.79.255"},{"61.29.146.0","61.29.147.255"},{"61.48.0.0","61.55.255.255"},{"61.128.210.168","61.128.210.227"},{"61.133.0.0","61.139.177.255"},{"61.148.0.0","61.149.255.255"},{"61.153.13.208","61.153.13.215"},{"61.156.0.0","61.156.255.255"},{"61.158.0.0","61.159.63.255"},{"61.161.0.0","61.163.255.255"},{"61.167.0.0","61.168.255.255"},{"61.176.0.0","61.176.255.255"},{"61.178.152.107","61.182.255.255"},{"61.189.0.0","61.189.166.66"},{"61.233.7.0","61.235.139.113"},{"61.243.201.0","61.243.201.255"},{"116.2.0.0","116.3.255.255"},{"116.95.0.0","116.95.255.255"},{"116.112.0.0","116.117.255.255"},{"116.214.240.0","116.214.240.255"},{"116.255.128.0","116.255.255.255"},{"117.8.0.0","117.15.255.255"},{"117.51.17.0","117.51.17.255"},{"118.72.0.0","118.79.255.255"},{"118.81.0.0","118.81.255.255"},{"118.88.0.0","118.88.63.255"},{"118.91.0.0","118.91.255.255"},{"118.144.144.0","118.144.144.255"},{"118.147.0.0","118.147.47.255"},{"118.197.0.0","118.197.255.255"},{"118.212.0.0","118.212.255.255"},{"119.4.0.0","119.5.217.255"},{"119.36.0.0","119.36.255.255"},{"119.112.0.0","119.119.255.255"},{"119.167.0.0","119.167.255.255"},{"120.0.0.0","120.7.255.255"},{"120.32.0.0","120.34.63.255"},{"121.16.0.0","121.31.255.255"},{"121.36.160.0","121.36.160.255"},{"121.40.216.0","121.40.220.255"},{"121.55.51.0","121.55.63.255"},{"122.9.56.0","122.9.56.255"},{"122.96.0.0","122.97.255.255"},{"122.136.0.0","122.143.255.255"},{"122.156.0.0","122.159.255.255"},{"122.192.0.0","122.195.255.255"},{"123.4.0.0","123.15.255.255"},{"123.57.127.0","123.57.127.255"},{"123.66.6.0","123.66.6.255"},{"123.99.128.0","123.99.255.255"},{"123.112.0.0","123.135.255.255"},{"123.137.0.0","123.139.255.255"},{"123.144.0.0","123.149.255.255"},{"123.151.15.0","123.159.255.255"},{"123.178.0.0","123.179.255.255"},{"123.188.0.0","123.191.255.255"},{"123.232.0.0","123.235.255.255"},{"123.253.96.0","123.253.127.255"},{"124.20.80.0","124.20.80.255"},{"124.64.0.0","124.67.255.255"},{"124.88.0.0","124.95.255.255"},{"124.126.130.0","124.126.130.255"},{"124.128.0.0","124.135.255.255"},{"124.156.112.0","124.156.112.255"},{"124.160.0.0","124.167.255.255"},{"125.32.0.0","125.47.255.255"},{"125.210.0.0","125.211.255.255"},{"202.75.211.0","202.75.211.255"},{"202.95.18.145","202.99.244.12"},{"202.102.9.0","202.102.254.255"},{"202.106.0.0","202.108.255.255"},{"202.110.0.0","202.111.189.255"},{"202.131.22.0","202.131.22.255"},{"202.136.252.0","202.136.255.255"},{"202.189.80.0","202.189.80.255"},{"203.93.9.0","203.93.255.255"},{"203.135.96.0","203.135.127.255"},{"203.175.128.0","203.175.255.255"},{"203.187.188.0","203.187.188.255"},{"203.207.98.0","203.207.98.255"},{"203.212.8.0","203.212.8.255"},{"210.12.0.0","210.16.191.255"},{"210.21.0.0","210.22.255.255"},{"210.51.0.0","210.53.255.255"},{"210.74.94.0","210.74.159.255"},{"210.76.32.0","210.76.159.255"},{"210.78.17.0","210.78.26.255"},{"210.82.0.0","210.83.255.255"},{"210.166.2.0","210.166.2.255"},{"211.97.245.0","211.98.125.10"},{"211.144.175.0","211.145.94.255"},{"211.151.0.0","211.152.60.255"},{"211.154.0.0","211.156.191.255"},{"211.158.0.0","211.158.255.255"},{"211.163.0.0","211.163.255.255"},{"218.3.91.0","218.3.91.7"},{"218.6.48.95","218.12.255.255"},{"218.21.127.190","218.22.122.77"},{"218.24.8.0","218.29.255.255"},{"218.56.8.0","218.62.127.255"},{"218.67.128.0","218.69.255.255"},{"218.75.22.0","218.75.22.185"},{"218.92.207.205","218.94.70.110"},{"218.104.0.0","218.109.255.255"},{"218.246.33.0","218.247.21.161"},{"219.82.0.0","219.82.255.255"},{"219.140.69.86","219.140.255.255"},{"219.146.142.124","219.147.99.95"},{"219.149.94.123","219.150.15.253"},{"219.153.130.34","219.159.161.11"},{"219.232.208.0","219.232.255.255"},{"219.238.108.0","219.239.128.127"},{"220.163.127.0","220.163.159.255"},{"220.169.200.45","220.170.75.87"},{"220.178.48.0","220.179.173.157"},{"220.194.197.38","220.194.202.255"},{"220.197.189.67","220.197.226.255"},{"220.201.35.22","220.201.59.255"},{"220.248.0.0","220.252.255.255"},{"221.0.0.1","221.15.255.255"},{"221.131.219.0","221.131.219.255"},{"221.133.228.0","221.133.232.255"},{"221.136.0.0","221.136.255.255"},{"221.192.0.0","221.224.114.50"},{"221.231.10.147","221.232.91.176"},{"222.34.101.0","222.34.101.255"},{"222.40.40.0","222.40.43.255"},{"222.43.101.0","222.43.101.255"},{"222.60.160.0","222.60.164.255"},{"222.74.42.138","222.74.168.130"},{"222.81.42.0","222.81.42.255"},{"222.88.60.70","222.89.16.244"},{"222.92.61.6","222.92.95.198"},{"222.126.190.0","222.126.190.255"},{"222.128.0.0","222.143.255.255"},{"222.160.0.0","222.163.255.255"},{"222.167.134.0","222.168.73.66"},{"222.170.96.0","222.171.22.9"},{"222.174.50.0","222.175.23.58"}}math.randomseed(os.time());function get_radom_ip() return math.random(0x10000000,0x7FFFFFFF)endfunction int_ip_to_str(ip) return string.format("%u.%u.%u.%u",(bit:_rshift(bit:_and(ip,0xFF000000) , 24)), (bit:_rshift(bit:_and(ip,0x00FF0000) , 16)), (bit:_rshift(bit:_and(ip,0x0000FF00) , 8)), (bit:_and(ip,0x000000FF)))endfunction str_ip_to_int(ip) ret = 0 for i=1,4,1 do idx = string.find(ip,'.',1,true) if idx ~= nil then a = string.sub(ip,1,idx-1) else a = ip end a = a + 1 a = a - 1 --print(a) if i == 1 then ret = bit:_or(ret,bit:_lshift(a,24)) elseif i == 2 then ret = bit:_or(ret,bit:_lshift(a,16)) elseif i == 3 then ret = bit:_or(ret,bit:_lshift(a,8)) else ret = bit:_or(ret,a) end if idx == nil then break end ip = string.sub(ip,idx+1,-1) end return retendfunction is_ip_in_range(ip_t,ip) for x,v in ipairs(ip_t) do start_ip = v[1] end_ip = v[2] if ip >= start_ip and ip <= end_ip then return true end end return falseend-- 把字符串 ip 表转换成整数放到一张表里function build_ip_table() ip_t = {} for x,v in ipairs(ips) do start_ip = str_ip_to_int(v[1]) end_ip = str_ip_to_int(v[2]) if start_ip <= end_ip and start_ip > 0 then table.insert(ip_t,{start_ip,end_ip}) --print('insert on..') else print("wrong ip "..v[1]..v[2]) end end return ip_tendip_t = build_ip_table()--print(ip_t)while true do i = get_radom_ip() if is_ip_in_range(ip_t,i) then print(int_ip_to_str(i)) endend