精华内容
下载资源
问答
  • 1、 端口服务版本信息获取 利用Nmap获取目标系统的端口版本信息 语法: nmap –p 端口号 -sV ip地址 (不输入端口默认是扫描出所有的端口) (有些主机采用nmap不能主动获取banner信息,见下方,所以需要主动去获取...

    1、 端口服务版本信息获取
    利用Nmap获取目标系统的端口版本信息
    语法:
    nmap –p 端口号 -sV ip地址
    (不输入端口默认是扫描出所有的端口)
    在这里插入图片描述
    (有些主机采用nmap不能主动获取banner信息,见下方,所以需要主动去获取版本信息)
    nmap --script banner IP地址
    在这里插入图片描述例如80等端口没有返回,所以需要主动去获取信息语法如上,
    自己输入命令体验一下最佳
    2、 操作系统版本信息获取
    使用Nmap扫描指定主机的操作系统版本信息
    Nmap -O IP地址
    在针对内容测试时,有授权的情况下,可以利用nmap对目标进行完整测试
    nmap –A –v IP地址
    在这里插入图片描述

    展开全文
  • 微信用户信息获取

    千次阅读 2017-12-26 17:11:05
    微信用户信息获取有两种方式:第一种利用普通access_token和openid进行获取;第二种利用网页授权的access_token进行获取。本文主要介绍第二种方式,第一种方式在微信网页授权access_token和普通access_token区别中做...

    微信用户信息获取有两种方式:第一种利用普通access_token和openid进行获取;第二种利用网页授权的access_token进行获取。本文主要介绍第二种方式,第一种方式在微信网页授权access_token和普通access_token区别中做了介绍。

    OAuth2.0

    说到信息获取,不得不提OAuth2.0。OAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容。

    OAuth的解决思路

    OAuth的思路就是在第三方应用程序和服务提供商之间,设置一个授权层(authorization layer)。第三方应用程序不能直接登录服务提供商,只能登录授权层,以此将用户与第三方应用程序区分开来。第三方应用程序登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。具体流程图如下:
    微信oauth

    • step1:用户访问公众号页面。
    • step2:回调授权。(后面详解)。
    • step3:用户同意授权。
    • step4:重定向到公众号,并返回code。
    • step5:公众号通过code获取网页授权access_token。
    • step6:刷新access_token(如果需要)。
    • step7:公众号通过access_token来获取用户信息。

    上述step2的具体授权分析
    若用户只获取用户的openid,则是默认授权,用户不会感知到授权的发生,而是直接进入了回调页(往往是用户页面)。在没有关注的情况下,若想获取其他用户信息snsapi_userinfo,就需要用户手动同意。对于已关注公众号的用户,如果用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即使是snsapi_userinfo,也是静默授权,用户无感知。

    code的获取

    https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
    参数说明:

    参数 必须 说明
    appid 公众号的唯一标识
    redirect_uri 授权后重定向的回调链接地址
    response_type 返回类型,请填写code
    scope 应用授权作用域,snsapi_base(不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo(弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息
    state 重定向后会带上state参数,开发者可以填写任意参数值
    wechat_redirect 直接再微信打开链接,可以不填此参数。做页02向时候,必须带此参数

    用户同意授权后,页面将跳转至上步设置的回调链接上,并带上code和state参数。
    code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。

    通过code换取网页授权access_token

    如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。
    具体是将上步获取到的code值传给下面的链接,即替换code=CODE中的CODE。
    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
    参数说明:

    参数 必须 说明
    appid 公众号的唯一标识
    secret 公众号的appsecret
    code 填写第一步获取的code参数
    grant_type 填写为authorization_code

    响应会得到如下json数据,参数如下:

    参数 说明
    access_token 网页授权接口调用凭证,此access_token与基础支持的access_token不同
    expires_in access_token接口调用凭证超时时间,单位(秒)
    refresh_token 用户刷新access_token
    openid 用户唯一标识,在未观众公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的openid
    scope 用户授权的作用域,使用逗号分隔

    刷新access_token

    由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为30天,当refresh_token失效之后,需要用户重新授权。
    具体做法:利用上步获取到的refresh_token来重新授权。
    https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
    链接中的参数只需要将REFRESH_TOKEN替换成上一步获取到的access_token值,APPID换成自己公众号的appid就可以重新获得授权。返回的参数和上一步获取access_token返回的参数一样,都是那五种。

    利用access_token获取用户信息

    如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。
    https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

    参数说明:

    参数 说明
    access_token 网页授权接口调用凭证,此access_token与基础支持的access_token不同
    openid 用户的唯一标识
    lang 不是必须,返回国家地区语言版本,zhz-CN简体,zh_TW繁体,en英语

    返回json数据,参数说明:

    参数 说明
    subscribe 用户是否订阅该公众号标识,值为0时,代表此用户诶有关注该公众号,拉取不到其余信息
    openid 用户的唯一标识
    nickname 用户昵称
    sex 用户性别,1为男,2为女
    province 用户个人资料填写的省份
    city 用户个人资料填写的城市
    country 国家,如中国为CN
    headimgurl 用户头像,用户没有头像时该项为空
    privilege 用户特权信息,json数组
    展开全文
  • Android系统信息获取 之三:CPU信息获取 Android系统的CPU信息涉及到两个文件:/proc/cpuinfo和/proc/stat  通过读取文件/proc/cpuinfo,来获取系统CPU的类型等多种信息, 通过读取/proc/stat 所有CPU活动的...

    Android系统信息获取 之三:CPU信息获取


    Android系统的CPU信息涉及到两个文件:/proc/cpuinfo和/proc/stat 

    通过读取文件/proc/cpuinfo,来获取系统CPU的类型等多种信息,

    通过读取/proc/stat 所有CPU活动的信息来计算CPU使用率。


    获取CPU信息可参考下面代码

    1、 获取CPU名字

    // 获取CPU名字
    	public static String getCpuName() {
    		try {
    			FileReader fr = new FileReader("/proc/cpuinfo");
    			BufferedReader br = new BufferedReader(fr);
    			String text = br.readLine();
    			String[] array = text.split(":\\s+", 2);
    			for (int i = 0; i < array.length; i++) {
    			}
    			return array[1];
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return null;
    	}

    2、获取CPU最大频率

    // 获取CPU最大频率
    	// "/system/bin/cat" 命令行
    	// "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" 存储最大频率的文件的路径
    	public static String getMaxCpuFreq() {
    		String result = "";
    		ProcessBuilder cmd;
    		try {
    			String[] args = { "/system/bin/cat",
    					"/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" };
    			cmd = new ProcessBuilder(args);
    			Process process = cmd.start();
    			InputStream in = process.getInputStream();
    			byte[] re = new byte[24];
    			while (in.read(re) != -1) {
    				result = result + new String(re);
    			}
    			in.close();
    		} catch (IOException ex) {
    			ex.printStackTrace();
    			result = "N/A";
    		}
    		return result.trim();
    	}

    3、获取CPU最小频率

    // 获取CPU最小频率
    	public static String getMinCpuFreq() {
    		String result = "";
    		ProcessBuilder cmd;
    		try {
    			String[] args = { "/system/bin/cat",
    					"/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq" };
    			cmd = new ProcessBuilder(args);
    			Process process = cmd.start();
    			InputStream in = process.getInputStream();
    			byte[] re = new byte[24];
    			while (in.read(re) != -1) {
    				result = result + new String(re);
    			}
    			in.close();
    		} catch (IOException ex) {
    			ex.printStackTrace();
    			result = "N/A";
    		}
    		return result.trim();
    	}

    4、实时获取CPU当前频率

    // 实时获取CPU当前频率
    	public static String getCurCpuFreq() {
    		String result = "N/A";
    		try {
    			FileReader fr = new FileReader(
    					"/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq");
    			BufferedReader br = new BufferedReader(fr);
    			String text = br.readLine();
    			result = text.trim();
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return result;
    	}




    展开全文
  • Android系统信息获取 之二:获取版本信息 获取当前应用的版本号: private String getAppVersionName() throws Exception { // 获取packagemanager的实例 PackageManager packageManager = getPackageManager()...

    Android系统信息获取 之二:版本信息获取

    获取当前应用的版本号:

     private String getAppVersionName() throws Exception
       {
               // 获取packagemanager的实例
               PackageManager packageManager = getPackageManager();
               // getPackageName()是你当前类的包名,0代表是获取版本信息
               PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(),PackageManager.GET_ACTIVITIES);
               String version = packInfo.versionName;
               return version;
       }
    

     获取对应的服务的版本信息:

    private String getServiceVersionName() throws Exception
       {
               // 获取packagemanager的实例
               PackageManager packageManager = getPackageManager();
               // getPackageName()是你当前类的包名,0代表是获取版本信息
               PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(),PackageManager. GET_SERVICES);
               String version = packInfo.versionName;
               return version;
       }
    

    可以看到这两个获取信息的差别在于getPackageInfo的第二个参数,查看Android系统中PackageManager.java的代码,就会发现除了GET_ACTIVITIES, GET_SERVICES之外还有GET_RECEIVERSGET_PROVIDERSGET_GIDS等属性,由此可知要想获取这些属性的信息,均可通过上边的方法获取。

    获取当前系统的版本号:

     textView.setText("Product Model: " + android.os.Build.MODEL + "," 
                    + android.os.Build.VERSION.SDK + "," 
                    + android.os.Build.VERSION.RELEASE); 
    

    Android系统Build的属性均在Build.java这个文件中。

    其中系统版本的代码可在其中查到,如下:

    /*  
     * 
     * Build.VERSION_CODES
        (0x00000001)        Android 1.0            BASE
        (0x00000002)        Android 1.1            BASE_1_1
        (0x00000003)        Android 1.5            CUPCAKE
        (0x00000004)        Android 1.6            DONUT
        (0x00000005)        Android 2.0            ECLAIR
        (0x00000006)        Android 2.0.1          ECLAIR_0_1
        (0x00000007)        Android 2.1            ECLAIR_MR1
        (0x00000008)        Android 2.2            FROYO
        (0x00000009)        Android 2.3            GINGERBREAD
        (0x0000000a)        Android 2.3.3          GINGERBREAD_MR1
        (0x0000000b)        Android 3.0            HONEYCOMB
        (0x0000000c)        Android 3.1            HONEYCOMB_MR1
        (0x0000000d)        Android 3.2            HONEYCOMB_MR2
        (0x0000000e)        Android 4.0   	       ICE_CREAM_SANDWICH 
        (0x0000000f)	Android 4.0.3	       ICE_CREAM_SANDWICH_MR4
    
    */
    

     /*获取当前系统的android版本号*/

        int currentapiVersion=android.os.Build.VERSION.SDK_INT;

    通过build.java文件获取其他信息,可参考下面代码:

      String phoneInfo = "Product: " + android.os.Build.PRODUCT; 
         phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI; 
         phoneInfo += ", TAGS: " + android.os.Build.TAGS; 
         phoneInfo+=",VERSION_CODES.BASE:"+ android.os.Build.VERSION_CODES.BASE; 
         phoneInfo += ", MODEL: " + android.os.Build.MODEL; 
         phoneInfo += ", SDK: " + android.os.Build.VERSION.SDK; 
         phoneInfo += ", VERSION.RELEASE: " + android.os.Build.VERSION.RELEASE; 
         phoneInfo += ", DEVICE: " + android.os.Build.DEVICE; 
         phoneInfo += ", DISPLAY: " + android.os.Build.DISPLAY; 
         phoneInfo += ", BRAND: " + android.os.Build.BRAND; 
         phoneInfo += ", BOARD: " + android.os.Build.BOARD; 
         phoneInfo += ", FINGERPRINT: " + android.os.Build.FINGERPRINT; 
         phoneInfo += ", ID: " + android.os.Build.ID; 
         phoneInfo += ", MANUFACTURER: " + android.os.Build.MANUFACTURER; 
         phoneInfo += ", USER: " + android.os.Build.USER; 
    
         // Toast.makeText(this, phoneInfo, Toast.LENGTH_LONG).show(); 
         TextView mTextView = (TextView) findViewById(R.id.main_phoneinfo); 
         mTextView.setText(phoneInfo); 
    






    展开全文
  • Android系统信息获取 之三:系统语言信息获取 Android系统的当前系统语言,可以通过Locale类获取,主要方法:Locale.getDefault().getLanguage(),返回的是es或者zh;通过Locale.getDefault().getCountry()获取当前...
  • Android系统信息获取 之八:WIFI设备和WIFI信号信息获取 通过分析WifiManager.java,WifiINfo.java源码,我们可以发现WIFI设备信息和WIFI状态的定义。 1、Wifi设备信息中常用的信息有   WifiInfo中比较常用...
  • Android 手机设备信息获取使用详解

    万次阅读 2017-11-22 15:30:51
    Android 手机是我们常用的工具之一,买手机之前,手机... 设备信息获取实现图 获取手机设备 宽、高、IMEI 信息 获取手机厂商名、产品名、手机品牌、手机型号、主板名、设备名 获取手机硬件名、SDK版本、android版...
  • Android系统信息获取 之十四:获取WIFI热点相关信息 当在Android设备终端上使用Wifi热点的时候,需要获知Wifi热点的运行状态,热点是否打开,连接到该WIFI热点的设备数量,以及连接设备的具体IP和MAC地址。 使用re...
  • Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息、热点信息),androidwifi Android wifi对象属性及简易Demo  本章介绍Android开发中WiFi热点和WiFi属性的获取,介绍WiFi的名称、状态等属性以及获取...
  • 对于移动信息的获取本不想再写,只是在开发的过程中还是有同事来讨论,因此就单独再把几个重要的信息获取点给列出来,供查询使用。 IMEI号,IMSI号的知识点可参考:IMSI号和IMEI解释 Android系统中IMSI...
  • 网卡设备信息获取

    千次阅读 2018-08-26 14:50:13
    在一些嵌入式设备中常常需要对网卡设备信息获取,以对设备的网络运行环境有所了解,不过现在的网卡大多数支持全双工,10M/100M/1000M模式自适应,很少再需要用户进行手动干预。最近工作中遇到了MA控制C单元与PHY设备...
  • Android系统信息获取 之十二:获取屏幕分辨率及密度 Android中屏幕分辨率可以有三种方式进行获取,一种是通过WindowManager获取,第二种是通过Resources获取,第三种是Display获取。 可结合具体环境灵活使用。 ...
  • axios请求失败,后端接口返回的状态码及错误信息获取
  • Android系统信息获取 之七:获取IP地址和MAC地址 Android系统可以通过WIFI和移动网络GPRS或者3G上网,使用不同网络上网的时候本机的IP地址并不一样。这里予以总结Android系统获取IP地址的方法和获取MAC地址的...
  • 因为微信小程序提供的 权限弹窗 只能通用户确认授权 所以可以 写一个授权页面,让用户点击 来获取用户相关信息 然后再配合后台就可以完成登录 <button class="btnInfo" open-type="getUserInfo"/> 素材 ...
  • Android系统是基于Linux的,各个Android版本对应的Linux版本不尽相同,我们这里不去追究各个Android...用adb工具连接模拟器,查看内核版本信息,看看模拟器上跑的内核是不是我们刚才编译出来的内核: USER-NAME@MACHI
  • HTML5画布Canvas图片抽取、像素信息获取、命中检测

    万次阅读 多人点赞 2017-01-14 20:30:46
    获取、修改画布的像素信息 以及画布的命中检测 首先我仍然需要创建画布<canvas id="myCanvas" width=500 height=500></canvas>图片抽取首先要明确的一点是 toDataURL()是canvas对象自身的方法而不是环境对象的 ...
  • 本章介绍Android开发中WiFi热点和WiFi属性的获取,介绍WiFi的名称、状态等属性以及获取周围WiFi热点的方法。 一、怎样获取wifi对象并进行操作 要操作 WIFI 设备,需要先获取 Context.getSystemService(Context....
  • laravel file上传文件信息获取

    千次阅读 2019-04-10 16:07:09
    转载地址:... 1、获取上传的文件 $file=$request->file('file'); 2、获取上传文件的文件名(带后缀,如abc.png) $filename=$file->getClientOriginalName(); 3、获取上传文件的后缀(如abc.png...
  • 前面使用了PackageManager获得了所有的应用包信息,但哼哈二将中海油一员大将没说到,那就是——ActivityManager,它的功能丝毫不逊色与PackageManager。事实上,它们在使用上各有侧重点,PackageManager重点在于...
  • 一、响应内容信息获取 1、响应状态码import requests r = requests.get('https://api.github.com/some/endpoint') print(r.status_code) #响应状态码 print(r.status_code==requests.codes.ok) #内置状态码查询对象...
  • C++ 硬件信息 获取主板序列号

    万次阅读 2015-04-09 13:44:56
    获取计算机网卡主板序列号的方法很多,这里采用的是命令行的形式获取,可以获取主板序列号,很简单,直接上代码。 【1】头文件 #if !defined(AFX_DD71A3C0_A52F_4C38_B062_8E05785607DC__INCLUDED_) #define AFX_...
  • ffmpeg之视频基本信息获取

    千次阅读 2015-04-26 17:41:17
    ffmpeg是一种非常强大的多媒体处理工具,我们可以利用ffmpeg获取视频的基本信息如: 1.编码 2.时长 3.创建时间 4.流格式 5.其他 执行如下命令获取 ffmpeg -i E:\B\1.mp4 结果罗列如下: Metadata: major...
  • 花了差不多一天时间,算是获取到了天气信息,主要在于学习使用webservice。 本项目说明如下: 1、分别使用三种方式获取服务信息。soap、http get、http post三种方式实现信息获取。 2、基于android调用...
  • 1.openid获取 - 从公众号菜单或者转发分享等形式进入小程序的,如果需要获取用户的openid,仅仅在app.js执行登陆方法或者在配置的主页面调用登陆方法是不够的 - 如果公众号菜单挂载的页面是小程序的其他页面,是...
  • springcloud 前后端分离 登录用户信息获取

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,525,287
精华内容 1,810,114
关键字:

信息获取的