java获取局域网ip,局域网ip地址扫描器
爪哇扫描局域网地址主要通过煤矿管理局命令,主要通过运行时间和过程类,由于同一局域网下的互联网协议(互联网协议)地址比较多需要通过爪哇的多线程来扫描端口。
导入Java。io。bufferedinputstream导入Java。io。io异常;导入Java。io。unsupportedencodingexception导入Java。网。inet地址;导入Java。util。正则表达式。matcher导入Java。util。正则表达式。图案;公共类ping任务{私有字符串地址;公共PingTask(字符串地址){ this.address=address}公共ping结果run(){ Runtime Runtime;工艺流程;请尝试{ runtime=运行时。获取运行时();process=runtime.exec(ping 地址);BufferedInputStream inputStream=(BufferedInputStream)进程。getinputstream();字节[]Bt=新字节[1024];string buffer buffer=new string buffer();int len=0;while((len=inputStream.read(bt,0,bt.length))!=-1){缓冲区。append(新字符串(Bt,0,len, GBK ));} String regex=(\d*)?;字符串结果="";模式模式=模式。编译(regex);匹配器matcher=模式。匹配器(缓冲。tostring());while(matcher.find()){ if(!matcher.group().equals(){ result=matcher。group();} } inet地址inet地址=inet地址。按名称获取(地址);字符串主机名="";如果(!inetAddress.getHostName().equals(address)){ hostname=inet地址。获取主机名();} String MAC=process=runtime.exec(arp -a 地址);BufferedInputStream MAC inputstream=(BufferedInputStream)进程。getinputstream();字节[]macbt=新字节[1024];字符串缓冲MAC buffer=new string buffer();while((len=MAC inputstream。read(macbt,0,macbt.length))!=-1){ MAC缓冲区。append(新字符串(macbt,0,len, GBK ));} String[]MAC结果=MAC缓冲区。tostring().修剪()。拆分( r n );如果(!macbuffer.toString().包含(未找到ARP ){ MAC=MAC result[2].substring(20,40).trim();} ping结果ping结果=新的ping结果(地址,(100-整数。parse int(result)) % ,mac,hostname);} catch(UnsupportedEncodingException e){ e . printstacktrace();} catch(io异常e){ e . printstacktrace();}返回pingResult} }调用方法:
public static void main(String[]args){ ping result result=new ping task( 123。123 .123 .123 );系统。出去。println(结果。tostring());}PingResult类
包com。徐。IP;公共类PingResult {私有静态字符串地址;//IP地址私有静态字符串结果;//是否可以连接私有静态字符串物理地址//物理地址私有静态字符串主机名;//主机名公共字符串get physical address(){返回物理地址;} public void setphysicialadder(String physicial address){ ping结果。physicialaddress=physicialadder}公共字符串get hostname(){返回主机名;} public void set hostname(String hostname){ ping结果。主机名=主机名;} public ping result(字符串地址,字符串结果){ ping result。地址=地址;ping result . result=result } public ping result(){ } public ping result(字符串地址,字符串结果,字符串物理地址,字符串主机名){ ping result。地址=地址;PingResult.result=resultping结果。物理地址=物理地址;PingResult.hostname=hostname}公共字符串getAddress() {返回地址;} public void set address(字符串地址){ ping结果。地址=地址;}公共字符串get result(){返回结果;} public void setResult(字符串结果){ ping结果。结果=结果;} @覆盖公共字符串toString(){ return ping result[get class()= get class(),hashCode()= hashCode(),toString()= super。toString()];} }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行它.
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。