导航:首页 > 编程语言 > java内网ip

java内网ip

发布时间:2023-10-10 06:22:02

java 判断是否为内网ip

内网IP是以下面几个段凯键的IP.用户可以自己设置.常用的内网IP地址:

10.0.0.0~10.255.255.255

172.16.0.0~172.31.255.255

192.168.0.0~192.168.255.255


----------------------选自网络--------------------------------------------------

由于以上ip段、我们只需要做判断ip是否族肢属于以上3个网段就行了

publicbooleanisInner(Stringip)
{
Stringreg="(10|172|192)\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})";//正则表达式=。=、懒得做文字处理了、
Patternp=Pattern.compile(reg);
兆孙世Matchermatcher=p.matcher(ip);
returnmatcher.find();
}

㈡ java怎么获取当前电脑的内网ip

public void PingAll() throws Exception{
//首先得到本机的IP,得到网段
InetAddress host = InetAddress.getLocalHost();
String hostAddress = host.getHostAddress();
int k=0;
k=hostAddress.lastIndexOf(".");
String ss = hostAddress.substring(0,k+1);
for(int i=1;i <=255;i++){ //对所有局域网Ip
String iip=ss+i;
Ping(iip);
}

㈢ JAVA如何获取局域网内所有安卓设备的ip地址,MAC以及序列号

1.得到局域网网段,可由自己机器的IP来确定 (也可以手动获取主机IP-CMD-ipconfig /all)
2.根据IP类型,一次遍历局域网内IP地址
JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用你自己编写相应代码调用便可
代码如下::
package bean;

import java.io.*;
import java.util.*;

public class Ip{
static public HashMap ping; //ping 后的结果集
public HashMap getPing(){ //用来得到ping后的结果集
return ping;
}

//当前线程的数量, 防止过多线程摧毁电脑
static int threadCount = 0;

public Ip() {
ping = new HashMap();
}

public void Ping(String ip) throws Exception{
//最多30个线程
while(threadCount>30)
Thread.sleep(50);
threadCount +=1;
PingIp p = new PingIp(ip);
p.start();
}

public void PingAll() throws Exception{
//首先得到本机的IP,得到网段
InetAddress host = InetAddress.getLocalHost();
String hostAddress = host.getHostAddress();
int k=0;
k=hostAddress.lastIndexOf(".");
String ss = hostAddress.substring(0,k+1);
for(int i=1;i <=255;i++){ //对所有局域网Ip
String iip=ss+i;
Ping(iip);
}

//等着所有Ping结束
while(threadCount>0)
Thread.sleep(50);
}

public static void main(String[] args) throws Exception{
Ip ip= new Ip();
ip.PingAll();
java.util.Set entries = ping.entrySet();
Iterator iter=entries.iterator();

String k;
while(iter.hasNext()){
Map.Entry entry=(Map.Entry)iter.next();
String key=(String)entry.getKey();
String value=(String)entry.getValue();

if(value.equals("true"))
System.out.println(key+"-->"+value);
}
}
class PingIp extends Thread{
public String ip; // IP
public PingIp(String ip){
this.ip=ip;
}

public void run(){
try{
Process p= Runtime.getRuntime().exec ("ping "+ip+ " -w 300 -n 1");
InputStreamReader ir = new InputStreamReader(p.getInputStream());
LineNumberReader input = new LineNumberReader (ir);
//读取结果行
for (int i=1 ; i <7; i++)
input.readLine();
String line= input.readLine();

if (line.length() <17 || line.substring(8,17).equals("timed out"))
ping.put(ip,"false");
else
ping.put(ip,"true");
//线程结束
threadCount -= 1;
}catch (IOException e){}
}
}
}

㈣ java编程,获取局域网内服务器端的ip地址

socket.connect(new InetSocketAddress(ip, port), timeout)

看有没有抛异常 没异常就是已经连接上了

想获取服务器名称 可以用ARP协议 或者测试连接的时候服务器回应一个名称

package;

importjava.io.IOException;
importjava.net.InetSocketAddress;
importjava.net.Socket;

publicclassClient{

publicstaticvoidmain(String[]args){
/**
*端口号
*/
intport=10000;
/**
*连接延时
*/
inttimeout=300;
System.out.println("ScannerStart...");
Socketsocket;
/**
*扫描
*/
for(inti=1,k=254;i<k;i++){
if((socket=isOnLine("192.168.1."+i,port,timeout))!=null){
System.out.println("Server:"
+socket.getInetAddress().getHostAddress()
+":"+socket.getPort()+"IsWaiting...");
}

/**
*关闭连接
*/
if(socket!=null&&!socket.isClosed()){
try{
socket.close();
}catch(IOExceptione){
socket=null;
}
}
}
System.out.println("Scannerend...");
}

/**
*测试连接服务器,返回连接成功后的Socket
*
*@paramip
*服务器Ip
*@paramport
*服务器端口号
*@paramtimeout
*连接延时
*@return返回连接成功后的Socket
*/
privatestaticSocketisOnLine(Stringip,intport,inttimeout){
Socketsocket=newSocket();
try{
socket.connect(newInetSocketAddress(ip,port),timeout);
}catch(IOExceptione){
returnnull;
}
returnsocket;
}

}
阅读全文

与java内网ip相关的资料

热点内容
路由器l2tp服务器地址是什么 浏览:160
做解压手套视频 浏览:620
退役命令文件 浏览:672
linux递归查找文件 浏览:242
哪个app上才能看到免费的名门挚爱 浏览:839
mysql查看表字段的命令 浏览:519
ios里的文件夹怎么用 浏览:164
压缩银行开户时间表 浏览:429
银行人员如何解压 浏览:829
newfile命令快捷键 浏览:569
阿里云物理服务器 浏览:955
灵狐视频app哪个好 浏览:259
大厂退役程序员自述 浏览:254
linux命令watch 浏览:889
加密币哪些平台不撤出中国 浏览:553
max加线命令 浏览:424
app胖瘦模式哪个好用 浏览:724
可以下载源码的软件 浏览:487
程序员写一天代码累吗 浏览:629
ie文件夹禁止访问 浏览:545