精华内容
下载资源
问答
  • 通过一个连接获取点击者IP

    千次阅读 2018-02-28 09:51:17
    你会收到一个连接,正常是三个,第二个是有用的。 2、把连接改为短连接。可以使用百度短连接或者其他的,比如: https://bitly.com/ ,这个随意。 3、把这个短连接,发给你你的目标,让他点击即可。 4、你会收到邮件...
    版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396360

    2017年9月9日 14:27:49
    跟新:

    访问:https://iplogger.org/
    访问搜索引擎搜索图片,或者本地搜索,找一张图片传到网上可以公开访问的地方,任意图片。
    复制图片的公网地址,到https://iplogger.org/的URL / Image填写框中。点击Get logger code
    获得了一个谷歌短网址,这里比较尴尬就是,获取的是谷歌短网址。
    把短连接发给目标。让他访问即可。
    访问http://www.ip-tracker.org,把https://iplogger.org/获取到的ip粘上,就可以看到目标在地图的位置了。

    ——————————————————————————————————
    1、访问:http://whatstheirip.com/
    邮箱随意,只要你可以接收到邮件即可。你会收到一个连接,正常是三个,第二个是有用的。
    2、把连接改为短连接。可以使用百度短连接或者其他的,比如:https://bitly.com/,这个随意。
    3、把这个短连接,发给你你的目标,让他点击即可。
    4、你会收到邮件,包含了点击者的IP,可以使用在线追踪IPhttp://www.ip-tracker.org/进行追踪。或者使用我其他文章提到的IP定位的方法。

    展开全文
  • 通过socket获取对方ip地址

    千次阅读 2012-07-25 20:13:29
    struct sockaddr_in sa;  int len = sizeof(sa); ...getpeername(sockfd, (struct sockaddr *)&sa, &len)) ... printf( "对方IP:%s ", inet_ntoa(sa.sin_addr));  printf( "对方PORT:%d

    struct sockaddr_in sa;

      int len = sizeof(sa);
      if(!getpeername(sockfd, (struct sockaddr *)&sa, &len))
      {
      printf( "对方IP:%s ", inet_ntoa(sa.sin_addr));
      printf( "对方PORT:%d ", ntohs(sa.sin_port));

      }

    getsockname获取一个套接口的本地名字。

      #include <winsock.h>
      int PASCAL FAR getsockname( SOCKET s, struct sockaddr FAR* name,
      int FAR* namelen);
      s:标识一个已捆绑套接口的描述字。
      name:接收套接口的地址(名字)。
      namelen:名字缓冲区长度。

    展开全文
  • 获取对方IP的几种方法

    千次阅读 2009-08-31 11:39:00
    这样的问题你也许会嗤之以鼻,的确,查询对方计算机的IP地址,实在简单得不值得提;可是,要让你列举出多种IP地址搜查方法时,你可能就感到勉为其难了。下面,本文就对如何快速、准确地搜查出对方好友的计算机IP...

    与好友在网络上相互传输资料时,有时先要知道对方计算机的IP地址,才能与对方建立信息传输通道。

    那么对方的IP地址该如何搜查得到呢?这样的问题你也许会嗤之以鼻,的确,查询对方计算机的IP地址,实在简单得不值得一提;可是,要让你列举出多种IP地址搜查方法时,你可能就感到勉为其难了。下面,本文就对如何快速、准确地搜查出对方好友的计算机IP地址,提出如下几种方法,相信能对大家有所帮助!

    1、邮件查询法

    使用这种方法查询对方计算机的IP地址时,首先要求对方先给你发一封电子邮件,然后你可以通过查看该邮件属性的方法,来获得邮件发送者所在计算机的IP地址;下面就是该方法的具体实施步骤:

    首先运行OutLook express程序,并单击工具栏中的“接受全部邮件”按钮,将朋友发送的邮件接受下来,再打开收件箱页面,找到朋友发送过来的邮件,并用鼠标右键单击之,从弹出的右键菜单中,执行“属性”命令;

    在其后打开的属性设置窗口中,单击“详细资料”标签,并在打开的标签页面中,你将看到“Received: from xiecaiwen (unknown [11.111.45.25])”这样的信息,其中的“11.111.45.25”就是对方好友的IP地址;当然,要是对方好友通过Internet中的WEB信箱给你发送电子邮件的话,那么你在这里看到的IP地址其实并不是他所在工作站的真实IP地址,而是WEB信箱所在网站的IP地址。

    当然,如果你使用的是其他邮件客户端程序的话,查看发件人IP地址的方法可能与上面不一样;例如要是你使用foxmail来接受好友邮件的话,那么你可以在收件箱中,选中目标邮件,再单击菜单栏中的“邮件”选项,从弹出的下拉菜单中选中“原始信息”命令,就能在其后的界面中看到对方好友的IP地址了。

    2、日志查询法

    这种方法是通过防火墙来对QQ聊天记录进行实时监控,然后打开防火墙的日志记录,找到对方好友的IP地址。为方便叙述,本文就以KV2004防火墙为例,来向大家介绍一下如何搜查对方好友的IP地址:

    考虑到与好友进行QQ聊天是通过UDP协议进行的,因此你首先要设置好KV防火墙,让其自动监控UDP端口,一旦发现有数据从UDP端口进入的话,就将它自动记录下来。在设置KV2004防火墙时,先单击防火墙界面中的“规则设置”按钮,然后单击“新建规则”按钮,弹出设置窗口;

    在该窗口的“名称”文本框中输入“搜查IP地址”,在“说明”文本框中也输入“搜查IP地址”;再在“网络条件”设置项处,选中“接受数据包”复选框,同时将“对方IP地址”设置为“任何地址”,而在“本地IP地址”设置项处不需要进行任何设置;

    下面再单击“UDP”标签,并在该标签页面下的“本地端口”设置项处,选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入“65535”;同样地,在“对方端口”设置项处,也选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入“65535”。

    接着在“当所有条件满足时”设置项处,选中“通行”选项,同时将“其他处理”处的“记录”选项选中,而“规则对象”设置项不需要进行任何设置;完成了上面的所有设置后,单击“确定”按钮,返回到防火墙的主界面;再在主界面中选中刚刚创建好的“搜查IP地址”规则,同时单击“保存”按钮,将前面的设置保存下来。

    完成好上面的设置后,KV防火墙将自动对QQ聊天记录进行全程监控,一旦对方好友给你发来QQ信息时,那么对方好友的IP地址信息就会自动出现在防火墙的日志文件中,此时你可以进入到KV防火墙的安装目录中,找到并打开“kvfwlog”文件,就能搜查到对方好友的IP地址。 

    3、工具查询法

    这种方法是通过专业的IP地址查询工具,来快速搜查到对方计算机的IP地址。例如,借助一款名为WhereIsIP的搜查工具,你可以轻松根据对方好友的Web网站地址,搜查得到对方好友的IP地址,甚至还能搜查到对方好友所在的物理位置。在用WhereIsIP程序搜查对方IP地址时,首先启动该程序打开搜查界面,然后单击该界面的“Web site”按钮,在其后的窗口中输入对方好友的Web地址,再单击“next”按钮,这样该程序就能自动与Internet中的Domain Name Whois数据库联系,然后从该数据库中搜查到与该Web网站地址对应的IP地址了。当然,除了可以知道IP地址外,你还能知道对方好友所在的具体物理位置。

    倘若要想查看局域网中某个工作站的IP地址时,可以使用“网络刺客II”之类的工具来帮忙;只要你运行该工具进入到它的主界面,然后执行工具栏中的“IP地址<->主机名”命令,在其后打开的对话框中,输入对方好友的计算机名称,再单击“转换成IP”按钮,就能获得对方好友所在计算机的IP地址了。

    如果你使用Oicqsniffer工具的话,那么查询QQ好友的IP地址就更简单了。只要你单击该程序界面中的“追踪”按钮,然后向对方好友发送一条QQ消息,那么Oicqsniffer工具就会自动将对方好友的IP地址以及端口号显示出来了。除此之外,还有许多可以查找IP地址的专业工具可以选择,例如IPsniper软件。

    4、命令查询法

    这种方法是通过Windows系统内置的网络命令“netstat”,来查出对方好友的IP地址,不过该方法需要你先想办法将对方好友邀请到QQ的“二人世界”中说上几句话才可以。下面就是该方法的具体实现步骤:

    首先单击“开始”/“运行”命令,在弹出的系统运行对话框中,输入“cmd”命令,单击“确定”按钮后,将屏幕切换到MS-DOS工作状态;然后在DOS命令行中执行“netstat -n”命令,在弹出的界面中,你就能看到当前究竟有哪些地址已经和你的计算机建立了连接(如果对应某个连接的状态为“Established”,就表明你的计算机和对方计算机之间的连接是成功的);

    其次打开QQ程序,邀请对方好友加入“二人世界”,并在其中与朋友聊上几句,这样你的计算机就会与对方好友的计算机之间建立好了TCP连接;此时,再在DOS命令行中执行“netstat -n”命令,看看现在又增加了哪个tcp连接,那个新增加的连接其实就是对方好友与你之间的UDP连接,查看对应连接中的“Foreign Address”就能知道对方好友的IP地址了。

    5、ping检查法

    这种方法就是利用“ping”命令,来检查当前计算机是否能与对方好友的网站连通,在检查的过程中该地址能自动获得对方网站的IP地址。比方说,要是你想搜查天极网站的IP地址时,可以先打开系统的运行对话框,然后在其中输入“ping www.pconline.com.cn”字符串命令,再单击“确定”按钮,在弹出的窗口中,就能知道网站的IP地址了。同样地,你也可以搜查其他网站的IP地址。

    展开全文
  • 注:笔者未学习过计算机网络相关的知识,只是在做socket通信项目时接触到这块知识,对一些名词概念使用不当请多多包涵,本篇文章的目的为提供一个笔者原创的Java网络信息获取工具类,并在一定程度上对这个领域的小白...

    注:笔者未学习过计算机网络相关的知识,只是在做socket通信项目时接触到这块知识,对一些名词概念使用不当请多多包涵,本篇文章的目的为提供一个笔者原创的Java网络信息获取工具类,并在一定程度上对这个领域的小白指北。

    应用场景

    笔者在做一个电脑<-->手机之间进行局域网数据传输的项目,这时就需要调用Java中的socket类,而socket的初始化需要用到对方的ip和端口(当对方为服务端时)。换言之,对于电脑来说,在“电脑开热点手机连接”和“手机开热点电脑连接”两种情况下,我都需要知道手机的ip地址。

    在手机端,Android提供了封装好的一个WiFiManager类,通过它能很容易的获取自己和对方的WiFi信息,而通过对“/proc/net/arp”的读取可以得到热点信息,在网上很容易能找到关于它们的代码。

    在电脑端,我们可以在Windows的UI界面中看到WiFi的名称和连接热点的设备的名称和ip地址(在“设置->网络和Internet->移动热点”中),但是无法获取WiFi的网关(路由器)的地址。更大的问题是,Java不提供任何像Android中WiFiManager类那样的类,至少我在网上没查到。

    Java这条路就算断了,唯一的方向就只有Windows中无敌却又难用的cmd了。笔者通过大量的搜索资料和尝试命令,终于把需要的信息通过cmd获取到了。

     

    为了方便理解,下面的本机(my)指的都是电脑,本机的ip地址称为myIP,与本机进行连接的设备(如手机)称为连接者(connecter),其ip地址称为connecterIP

    相关的cmd命令:

    一.WiFi部分

    1.获取本机ip:在cmd中使用“ipconfig”命令,“无线局域网适配器 WLAN:”下的“IPv4 地址 . . . . . . . . . . . . :”栏即为本机ip

    2.获取连接的WiFi名称:使用“netsh wlan show interfaces”命令,“SSID”栏即为WiFi名称。

    3.获取连接者ip:使用“ARP -a”命令,找到“接口:”后的ip地址为本机ip的部分,下面与本机ip属于同一网段且物理地址不为“ff-ff-ff-ff-ff-ff”的即为连接者ip

    二.热点部分

    1.获取本机ip:在cmd中使用“ipconfig”命令,“无线局域网适配器 本地连接”下的“IPv4 地址 . . . . . . . . . . . . :”栏即为本机ip

    2.获取连接者ip:使用“ARP -a”命令,找到“接口:”后的ip地址为本机ip的部分,下面与本机ip属于同一网段且物理地址不为“ff-ff-ff-ff-ff-ff”的即为连接者ip

    3.获取连接者的名称:使用“tracert connecterIP”命令(connecterIP为第二步获得的连接者ip),即可跟踪到连接者的名称。(则与Windows UI界面上显示的名称稍有不同(但不影响对设备的识别),但是笔者还没找到获取UI界面上内容的方法)

     

    笔者在Java中获取cmd输出的信息,使用正则表达式提取出其中的信息,并存储在类的属性中,实现了WiFiManager(WiFi管理器)和HotspotManager(热点管理器)两个工具类。

     

    代码:

    1.Cmd类(获取cmd输出的信息)

    (修改自https://blog.csdn.net/w405722907/article/details/78610503,在此对该文章作者表示感谢,之前笔者使用的另一个代码有错,读取内容混乱导致笔者浪费了很多时间)

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    
    public class Cmd {
    	public static String command(String cmd){//获取cmd输出
    		try {
    			Process process = Runtime.getRuntime().exec(cmd);
    			
    			//关闭流释放资源
    	    	if(process != null){
    	    		process.getOutputStream().close();
    	    	}
    	    	InputStream in = process.getInputStream();
    	    	BufferedReader br = new BufferedReader(new InputStreamReader(in));
    	    	
    	    	StringBuilder result = new StringBuilder();
    	    	String tmp = null;
    	    	while ((tmp = br.readLine()) != null) {
    	    		result.append(tmp+"\r\n");//将tmp内容附加(append)到StringBuilder类中
    	    	}
    	    	return result.toString();
    	    	
    		} catch (IOException e) {
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    			return null;
    		}
    	}
    }

    2.WiFiManager类(需要调用Cmd类的command方法)

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    /**
     * 一个WiFi管理类,用于获取WiFi的信息,用于通信
     * @see #isWiFiConnected()
     * @see #getMyIP()
     * @see #getConnecterIP()
     * @see #getConnecterMAC()
     * @see #isConnecterHDCP()
     * 
     * @author blademaster
     *
     */
    public class WiFiManager {
    	private boolean isWiFiConnected=false;
    	private String myIP=null;//本机的WiFi ip
    	private String connecterIP=null;//本机连接的路由的IP
    	private String connecterMAC=null;//本机连接的路由的MAC
    	private boolean isConnecterHDCP=false;//本机连接的路由是否为HDCP动态
    	
    	public WiFiManager() {
    		// TODO 自动生成的构造函数存根
    		
    		//******************由"ipconfig"获取myIP*********************
    		String str=Cmd.command("ipconfig");
    		str=str+"\r\n";//增加用于确定文字分段的回车
    
    		//获取“无线局域网适配器 WLAN”段
    		String WLAN_str=null;
    		Pattern pattern = Pattern.compile("无线局域网适配器 WLAN:\r\n\r\n[\\s\\S]*?\r\n\r\n");//设置正则表达形式,[\\s\\S]*?为任意数量字符非贪婪正则表达式
    		Matcher matcher = pattern.matcher(str);//对str进行正则表达式搜索
    		if(matcher.find()){
    			int start = matcher.start();
    		    int end = matcher.end();
    		    WLAN_str=str.substring(start,end);
    		}
    		if(WLAN_str==null) {
    			return;
    		}
    		
    		//获取myIP
    		pattern = Pattern.compile("IPv4 地址 . . . . . . . . . . . . : ");//设置正则表达形式,[\\s\\S]*?为任意数量字符非贪婪正则表达式
    		matcher = pattern.matcher(WLAN_str);//对str进行正则表达式搜索
    		if(matcher.find()){
    		    int end = matcher.end();
    		    myIP=WLAN_str.substring(end).split("\r\n")[0];//首先截取匹配到的字符串,然后读到回车,获取ip地址
    		    isWiFiConnected=true;
    		}
    		else {
    			isWiFiConnected=false;
    			return;
    		}
    		
    		//当WiFi连接时
    		//******************由"ARP -a"获取connecterIP*********************
    		str=Cmd.command("ARP -a");
    		str=str+"\r\n";//增加用于确定文字分段的回车
    
    		//获取connecterIP
    		pattern = Pattern.compile("接口: "+myIP+"[\\s\\S]*?类型\r\n");//设置正则表达形式,[\\s\\S]*?为任意数量字符非贪婪正则表达式
    		matcher = pattern.matcher(str);//对str进行正则表达式搜索
    		if(matcher.find()){
    		    int end = matcher.end();
    		    String connecter_str=str.substring(end).split("\r\n")[0];//首先截取匹配到的字符串,然后读到回车,获取ip地址
    		    connecterIP=connecter_str.split("\\s+")[1];//"\\s+"为多个空格的正则表达式
    		    connecterMAC=connecter_str.split("\\s+")[2];
    		   	isConnecterHDCP=connecter_str.split("\\s+")[3].equals("动态") ? true : false;
    		}
    	}
    	
    	/**
    	 * 判断WiFi是否连接
    	 * @return
    	 */
    	public boolean isWiFiConnected() {
            return isWiFiConnected;
        }
    	
    	/**
    	 * 返回本机的WLAN ip
    	 * @return
    	 */
        public String getMyIP() {
            return myIP;
        }
    
        /**
       	 * 返回本机连接的设备的ip
       	 * @return
       	 */
        public String getConnecterIP() {
            return connecterIP;
        }
    
        /**
       	 * 返回本机连接的设备的MAC
       	 * @return
       	 */
        public String getConnecterMAC() {
            return connecterMAC;
        }
    
        /**
       	 * 返回本机连接的设备的状态(静态or动态)
       	 * @return
       	 */
        public boolean isConnecterHDCP() {
            return isConnecterHDCP;
        }
        
        /**
         * 获取正在连接的WiFi的名称(SSID)
         * @return
         */
        public static String getConnectingWiFiSSID() {
        	String str=Cmd.command("netsh wlan show interfaces");
        	Pattern pattern = Pattern.compile("SSID[\\s\\S]*?: ");//设置正则表达形式,[\\s\\S]*?为任意数量字符非贪婪正则表达式
    		Matcher matcher = pattern.matcher(str);//对str进行正则表达式搜索
    		if(matcher.find()){
    		    int end = matcher.end();
    		    String SSID=str.substring(end).split("\r\n")[0];//首先截取匹配到的字符串,然后读到回车,获取ip地址
    		    return SSID;
    		}
    		return null;
        }
    }

    3.HotspotManager类(需要调用Cmd类的command方法)

    import java.util.ArrayList;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    /**
     * 一个热点管理类,用于获取热点的信息,用于通信
     * @see #isHotspotConnected()
     * @see #getMyIP()
     * @see #getConnecterIP()
     * @see #getConnecterMAC()
     * @see #isConnecterHDCP()
     * 
     * @author blademaster
     *
     */
    public class HotspotManager {
    	private boolean isHotspotConnected=false;
    	private ArrayList<String> localIP=new ArrayList<>();//所有本地连接的地址
    	private ArrayList<String> myIP=new ArrayList<>();//本机的ip,与connecterIP对应
    	private ArrayList<String> connecterName=new ArrayList<>();//解析的主机名称
    	private ArrayList<String> connecterIP=new ArrayList<>();//连接本机的设备的IP
    	private ArrayList<String> connecterMAC=new ArrayList<>();//连接本机的设备的MAC
    	private ArrayList<Boolean> isConnecterHDCP=new ArrayList<>();//连接本机的设备是否为HDCP动态,boolean为数据类型,不属于对象,不能作为ArrayList的类型
    	
    	public HotspotManager() {
    		// TODO 自动生成的构造函数存根
    		
    		//******************由"ipconfig"获取myIP*********************
    		String str=Cmd.command("ipconfig");
    		str=str+"\r\n";//增加用于确定文字分段的回车
    
    		//获取“无线局域网适配器 本地连接”段,由于可能存在多个本地连接,查找所有可能的本地连接
    		ArrayList<String> Local_str=new ArrayList<>();
    		Pattern pattern = Pattern.compile("无线局域网适配器 本地连接[\\s\\S]*?\r\n\r\n[\\s\\S]*?\r\n\r\n");//设置正则表达形式,[\\s\\S]*?为任意数量字符非贪婪正则表达式
    		Matcher matcher = pattern.matcher(str);//对str进行正则表达式搜索
    		while(matcher.find()){
    			int start = matcher.start();
    		    int end = matcher.end();
    		    Local_str.add(str.substring(start,end));
    		}
    		
    		// 获取myIP
    		for (int i = 0; i < Local_str.size(); i++) {
    			pattern = Pattern.compile("IPv4 地址 . . . . . . . . . . . . : ");// 设置正则表达形式,[\\s\\S]*?为任意数量字符非贪婪正则表达式
    			matcher = pattern.matcher(Local_str.get(i));// 对str进行正则表达式搜索
    			if (matcher.find()) {
    				int end = matcher.end();
    				localIP.add(Local_str.get(i).substring(end).split("\r\n")[0]);// 首先截取匹配到的字符串,然后读到回车,获取ip地址
    			} 
    		}
    		if(localIP.isEmpty()) {
    			isHotspotConnected = false;
    			return;
    		}
    		//当热点连接时
    		//******************由"ARP -a"获取connecterIP*********************
    		str=Cmd.command("ARP -a");
            str=str+"\r\n";//增加用于确定文字分段的回车
    
    		for (int i = 0; i < localIP.size(); i++) {
    			// 获取connecterIP
    			pattern = Pattern.compile("接口: " + localIP.get(i) + "[\\s\\S]*?类型\r\n");// 设置正则表达形式,[\\s\\S]*?为任意数量字符非贪婪正则表达式
    			matcher = pattern.matcher(str);// 对str进行正则表达式搜索
    			if (matcher.find()) {
    				int start = matcher.end();
    				pattern = Pattern.compile("接口: " + localIP.get(i) + "[\\s\\S]*?类型\r\n[\\s\\S]*?\r\n\r\n");// 设置正则表达形式,[\\s\\S]*?为任意数量字符非贪婪正则表达式
    				matcher = pattern.matcher(str);// 对str进行正则表达式搜索
    				if (matcher.find()) {//注意要先matcher.find()才能调用matcher.end()
    					int end = matcher.end()-4;// 除去两个回车(一个"\r\n"两个)
    					String connecter_str = str.substring(start, end);// 首先截取匹配到的字符串,然后读到回车,获取ip地址
    					
    					String[] connecter_tag=connecter_str.split("\r\n");
    					int n=0;
    					while(!connecter_tag[n].split("\\s+")[2].equals("ff-ff-ff-ff-ff-ff")) {//应该添加局域网的判断,此处省略
    						myIP.add(localIP.get(i));
    						connecterIP.add(connecter_tag[n].split("\\s+")[1]);// "\\s+"为多个空格的正则表达式
    						connecterMAC.add(connecter_tag[n].split("\\s+")[2]);
    						isConnecterHDCP.add(connecter_tag[n].split("\\s+")[3].equals("动态") ? true : false);
    						
    						isHotspotConnected = true;//找到至少一个真实的连接者
    						n++;
    					}
    				}
    			}
    		}
    		for(int i=0;i<connecterIP.size();i++) {
    			connecterName.add(IP2Hostname(connecterIP.get(i)));//由连接设备的ip解析出设备名
    		}
    		
    	}
    	
    	/**
    	 * 判断热点是否有设备接入
    	 * @return
    	 */
    	public boolean isHotspotConnected() {
            return isHotspotConnected;
        }
    	
    	/**
    	 * 返回本机的本地连接ip(可能有多个)
    	 * @return
    	 */
        public ArrayList<String> getMyIP() {
            return myIP;
        }
        
        /**
    	 * 返回连接本机热点的设备的ip(可能有多个)
    	 * @return
    	 */
        public ArrayList<String> getConnecterIP() {
            return connecterIP;
        }
    
        /**
    	 * 返回连接本机热点的设备的MAC(可能有多个)
    	 * @return
    	 */
        public ArrayList<String> getConnecterMAC() {
            return connecterMAC;
        }
    
        /**
    	 * 返回连接本机热点的设备的状态(静态or动态)(可能有多个)
    	 * @return
    	 */
        public ArrayList<Boolean> isConnecterHDCP() {
            return isConnecterHDCP;
        }
        
        /**
    	 * 返回连接本机热点的设备的主机名称(可能有多个)
    	 * @return
    	 */
        public ArrayList<String> getConnecterName() {
            return connecterName;
        }
        
        /**
         * 将热点连接设备的ip通过tracert命令解析为主机名
         * @param ip
         * @return
         */
        
        public static String IP2Hostname(String ip) {
    		String str=Cmd.command("tracert "+ip);
    		if(str.split("\\s+").length < 17) {//当未跟踪到主机名时
    			return null;
    		}
    		String hostname=str.split("\\s+")[15];//通过对cmd输出分析得到
    		hostname=hostname.split("\\.")[0];//去除.mshome.net后缀
    		
    		return hostname;
    	}
    }

     

    使用方法:

    1.WiFiManager类

    通过“WiFiManager wiFiManager=new WiFiManager();”即可创建已获得WiFi信息的对象,然后调用其方法即可获取信息。

    由于一般电脑只能连接一个WiFi,所以其对应的信息一般只有一个,返回的信息为String对象

    2.HotspotManager类

    通过“HotspotManager hotspotManager=new HotspotManager();”即可创建已获得热点信息的对象,然后调用其方法即可获取信息。

    由于一台电脑的热点至多可供8台设备连接,所以connecterIP等信息可能不为一个,笔者返回的是ArrayList类的数据,这样便于管理和使用(不懂ArrayList类的同学可以查一下,使用起来非常简单)。

    展开全文
  • 因为最近玩树莓派,需要手机做热点,目前我发现的有两种办法 得到“已连接手机热点的设备的ip地址,推荐第二个办法,我最开始是第二个办法解决问题的, 第一个办法推测可行,但还未验证, 第一个办法需要手机有...
  • 根据IP获取对方机器的操作系统方案

    千次阅读 2017-06-26 21:11:10
    FIN探测 -- 通过发送一个FIN数据包(或任何未设置ACK或SYN标记位的数据包)  到一个打开的端口,并等待回应。RFC793定义的标准行为是“不”响  应,但诸如MS Windows、BSDi、CISCO、HP/UX、MVS和IRIX等操作系...
  • 通过IP或socket获取对方的MAC地址

    千次阅读 2014-09-28 21:25:53
    通过已经连接的socket文件获取:   [cpp] view plaincopy int getpeermac( int sockfd, char *buf )  {   int ret =0;   struct arpreq arpreq;   struct ...
  • 获取电脑ip并输入微信发送

    万次阅读 2019-12-07 18:48:38
    实现方式: 1.若微信号支持网页版登录(https://wx.qq.com/),参考:https://www.cnblogs.com/qzzhou/p/10486256.html... 2.否则参考: """ Windows IP 配置 无线局域网适配器 无线网络连接: 连接特定的 DNS...
  • 通过IP地址获取对方MAC地址的命令

    万次阅读 2009-11-11 09:59:00
    要解决这个问题,首先我们应该知道,在底层的...ARP中有影射远程主机的IP地址到其对应的MAC地址的一个列表。地址解析协议(ARP)缓存是一个常驻内存的数据结构,其中的内容是由本地系统的内核来管理和维护的。默认的情
  • 通过IP和socket获取对方的MAC地址

    千次阅读 2014-04-10 15:11:07
    peerip--peer ip address; sockfd--socket ; buf--MAC address, buflen--buf size;  * RET: 0--OK; else--Fail  */ int getpeermac(char *ifname, struct sockaddr_in *peerip, int sockfd, char *buf , ...
  • ping计算机名获取IP

    万次阅读 2016-06-01 15:44:45
    如何ping别人的计算机名来获取IP?   获取别人的IP,是作为骇客或是黑客必要的步骤。那么,怎么来获取IP呢?     今天想试着用arp命令干点坏事来陶冶一下情操,当我ping电脑名查询IP时,发现返回的...
  • 获取客户端IP的方法

    千次阅读 2018-03-19 20:10:06
    1.’REMOTE_ADDR’ 是远端IP,默认来自tcp 连接是,客户端的Ip。可以说,它最准确,确定是,只会得到直接连服务器客户端IP。如果对方通过代理服务器上网,就发现。获取到的是代理服务器IP了。 如:a-&gt;b...
  • WebSocket 获取客户端的IP

    万次阅读 2018-12-18 16:01:26
    今天用到websocket,希望服务器端在连接建立时获取到客户端的IP,看了源码没有找到提供的api,后来顿百度,在stackoverflow 找到了解决方案,经过测试可以使用,总结了一下, 下边是代码: import java.lang.reflect....
  • 渗透测试之邮件获取对方真实地址

    千次阅读 2017-12-15 09:55:28
    当然可以插入网络图片的方式获取对方IP地址。 2.实验 2.1 获取发件方或者回复的邮件的ip地址 如图: 首先在获取邮件原文,然后获取邮件源码 在X-Originating-IP:中获取到发件人的IP地址 电脑回复时也...
  • 查看对方IP地址

    千次阅读 2019-04-16 10:04:25
    网站能够统计浏览用户的IP地址,这些IP地址是如何被获取到的呢,我们又能不能主动去获取他人的IP地址呢,方法其实有好多,针对最常见的用网站方式获取ip地址的方法,我将用maitube网站的列子举例(因为其它列子操作...
  • 获取本机ip获取远程ip

    千次阅读 2015-11-09 17:10:33
    想要正确的到对方地址(一般客户端不需要这功能),则必须在链接建立以后,同样链接建立以后,此时客户端地址和端口就已经被指定,此时是调用getsockname的时机。 UDP UDP分为链接和没有链接2种...
  • python获取ip的两种方法

    千次阅读 2019-04-26 16:15:03
    一般情况下使用socket.gethostbyname()的方式就可以获取本机IP地址,不排除偶尔的时候获取不到(比如没有正确设置主机名称),示例代码如下: 复制代码 import socket 获取本计算机的名称 hostname = socket.get...
  • 这里之所以调用新浪api接口,...如下图,写一个带有获取客户端IP地址的网页: 首先,在Eclipse的目录结构如下: 里面除了servlet的支持包之外,就一个.jsp与一个.java。 其中这里用到Servlet3.0,因此web.x
  • 获取用户原始IP地址

    千次阅读 2016-05-05 15:59:16
    获取用户Ip地址通用方法常见安全隐患(HTTP_X_FORWARDED_FOR) ...这来自一些项目中,获取用户Ip,进行用户操作行为的记录,是常见并且经常使用的。 一般朋友,都会看到如下通用获取IP地址方法。
  • 获取他人ip的几种方法

    万次阅读 多人点赞 2018-08-17 16:12:22
    这样的问题你也许会嗤之以鼻,的确,查询对方计算机的IP地址,实在简单得不值得提;可是,要让你列举出多种IP地址搜查方法时,你可能就感到勉为其难了。下面,本文就对如何快速、准确地搜查出对方好友的计算机IP...
  • 获取本机IP地址,是一个相当灵活的操作,原因是网络地址的设置非常灵活而且都是允许用户进行个性化设置的。比如一台计算机上可以有多块物理网卡或者虚拟网卡,一个网卡上可以绑定多个IP地址,用户可以为网卡设置别名...
  • linux环境中,在通信双方互相不知对方IP的情况下,使用组播传输来获取对方IP。主要内容有如何获取本机IP地址和主机名以及组播传输两方面内容。
  • java获取局域网IP

    千次阅读 2011-07-23 21:38:47
    需要遍历局域网IP的,大体分为两步:: 1....根据IP类型,一次遍历局域网内IP地址 我给你一个JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用你自己编写相应代码调用便可 代码如下:package bean;
  • getpeername函数用于获取与某个套接字关联的外地地址,accept函数在接收连接的时候也会获取对端的地址。getsockname用于获取本端的地址。看代码。 服务端: #include #include #include #include #include #...
  • 来自一些项目中,获取用户Ip,进行用户操作行为的记录,是常见并且经常使用的。 一般朋友,都会看到如下通用获取IP地址方法。function getIP() { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $realip =...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,296
精华内容 22,918
关键字:

一个链接获取对方ip