利用java如何根据IP获取mac地址

发布时间:2020-11-25 15:49:42

来源:亿速云

阅读:74

作者:Leah

利用java如何根据IP获取mac地址?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

具体内容如下

import java.net.InetAddress;

import java.net.NetworkInterface;

import java.net.SocketException;

import java.net.UnknownHostException;

public class MacAddress {

/**

* @param args

* @throws UnknownHostException

* @throws SocketException

*/

public static void main(String[] args) throws UnknownHostException, SocketException {

InetAddress ia = InetAddress.getLocalHost();

System.out.println(ia);

getLocalMac(ia);

}

private static void getLocalMac(InetAddress ia) throws SocketException {

// TODO Auto-generated method stub

//获取网卡,获取地址

byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();

System.out.println("mac数组长度:"+mac.length);

StringBuffer sb = new StringBuffer("");

for(int i=0; i

if(i!=0) {

sb.append("-");

}

//字节转换为整数

int temp = mac[i]&0xff;

String str = Integer.toHexString(temp);

System.out.println("每8位:"+str);

if(str.length()==1) {

sb.append("0"+str);

}else {

sb.append(str);

}

}

System.out.println("本机MAC地址:"+sb.toString().toUpperCase());

}

}

下面这个方法是获取客户端请求地址

public String getClientIp(HttpServletRequest request) {

String ip = request.getHeader("x-forwarded-for");

if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

ip = request.getHeader("Proxy-Client-IP");

}

if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

ip = request.getHeader("WL-Proxy-Client-IP");

}

if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

ip = request.getRemoteAddr();

}

if(ip.trim().contains(",")){

String [] ips=ip.split(",");

ip=ips[0];

}

return ip;

}

关于利用java如何根据IP获取mac地址问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

java 根据ip获取mac地址_利用java如何根据IP获取mac地址相关推荐

  1. java 获取文件名长度_利用Java文件类File的方法,获取磁盘文件的文件名、长度、大小等特性...

    利用Java文件类File的方法,获取磁盘文件的文件名.长度.大小等特性. 如题,大神们谁可以编写一个这样的java程序?     happy530755 | 浏览 1482 次 |举报 我 ...

  2. java 两日期的周数_利用 Java 中 Calendar 计算两个日期之间的天数和周数

    利用 Java 中 Calendar 计算两个日期之间的天数和周数 前言 究竟什么是一个 Calendar 呢? 中文的翻译就是日历, 那我们立刻可以想到我们生活中有阳 (公) 历阴 (农) 历之分它 ...

  3. 高德地图获取坐标距离_利用java、js或mysql计算高德地图中两坐标之间的距离

    前言 因为工作的原因,最近在做与地图相关的应用,使用了高德地图,研究了下高德地图计算两坐标距离的方法,官网上提供的开发包中有相关的方法,但是我的产品中比较特殊,无法直接使用提供的方法,所以就自己封装了 ...

  4. java 读取excel 合并单元格_利用java读写Excel文件、合并单元格

    一般的页眉页脚都分为三个部分,左,中,右三部分,利用如下代码可实现插入页眉页脚 java 代码publicstaticvoidsetHeader(WritableSheet dataSheet,Str ...

  5. java读二进制bin文件内容_利用Java读取二进制文件示例详细解说

    前言 此文主要给大伙介绍了关于Java读取二进制文件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 读Hex写CSV data目录下有little-endian bin文 ...

  6. opencv获取外接摄像头_利用opencv从USB摄像头获取图片

    由于opencv自带的VideoCapture函数直接从usb摄像头获取视频数据,所以用这个来作为实时的图像来源用于实体检测识别是很方便的. 1. 安装opencv 安装的步骤可以按照之前这个文章操作 ...

  7. python批量爬取小网格区域坐标系_Python爬虫实例_利用百度地图API批量获取城市所有的POI点...

    上篇关于爬虫的文章,我们讲解了如何运用Python的requests及BeautifuiSoup模块来完成静态网页的爬取,总结过程,网页爬虫本质就两步: 1.设置请求参数(url,headers,co ...

  8. java 检查 mac 地址_使用Java在本地计算机上获取MAC地址

    有了我在这里找到的所有可能的解决方案以及其他答复,我将为我的解决方案做出贡献.您需要使用包含" ip"或" mac"的字符串来指定参数,具体取决于您要检查的内容 ...

  9. java反序列化漏洞POP查找_利用 Java 反序列化漏洞在受限环境下获取反向 Shell

    原标题:利用 Java 反序列化漏洞在受限环境下获取反向 Shell 原文链接: https://medium.com/abn-amro-red-team/java-deserialization-f ...

最新文章

  1. PHP实现时间轴函数
  2. springmvc不断输出文本到网页
  3. 也跟90后小朋友聊聊
  4. 【Python】一文搞懂Pandas数据排序
  5. Java集合—HashMap底层原理
  6. Django(part40)--如何走向404
  7. 九个著名科技公司的十位CEO的办公桌照片
  8. linux 用户空间通过makefile向程序传递参数
  9. 推断单向链表中是否有环和查找环的入口
  10. 高品质空间合成海报,让夜色更迷人
  11. 【数字信号调制】基于matlab GUI QPSK调制+解调【含Matlab源码 646期】
  12. 由一本书看一个行业 -- 网上购书之比较
  13. Echarts官网突然不能登录了?
  14. 端口已被占用1080
  15. 计算机中ms-dos什么意思,msdos是什么意思
  16. 基于java校园志愿者管理系统(java毕业设计)
  17. uWSGI +Flask+torch Cannot re-initialize CUDA in forked subprocess
  18. 如何选择适合你的兴趣爱好(二十八),小提琴
  19. 密钥创建ssh-keygen
  20. 善用GOOGLE–从入门到精通

热门文章

  1. 作业函数的定义与调用
  2. 预测汽车级Linux专业技术的需求
  3. ADAS系统长篇综述(下)
  4. python 爬取手机app的信息
  5. Django 视图和模板1.4
  6. gvim plugin管理
  7. shell /dev/null
  8. idea(3)-jetty配置
  9. Go 学习笔记(21)— 标准库 os 操作文件(新建、打开、写入、读取、删除、关闭文件)
  10. Ubuntu apt-get install、apt-get -f install、apt-get --purge remove、apt-get update、apt-get upgrade、