标签: ip

有没有人知道一个java组件来检查IP地址是否来自特定的网络/网络掩码?

我需要确定给定的IP地址是否来自某个特殊网络,我必须自动进行身份验证.

java ip networking

24
推荐指数
5
解决办法
2万
查看次数

如何在不利用其他IP地址的情况下从Ruby获取我的机器的IP地址?

我到处搜索,但他们的解决方案需要某种形式的IP地址.以下是我找到的解决方案.

    require 'socket'
#METHOD 1
    ip = IPSocket.getaddress(Socket.gethostname)
    puts ip 

#METHOD 2
    host = Socket.gethostname
    puts host

#METHOD 3(uses Google's address)
    ip = UDPSocket.open {|s| s.connect("64.233.187.99", 1); s.addr.last}
    puts ip

#METHOD 4(uses gateway address)
    def local_ip
      orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true  # turn off reverse DNS resolution temporarily

      UDPSocket.open do |s|
        s.connect '192.168.1.1', 1
        s.addr.last
      end
    ensure
      Socket.do_not_reverse_lookup = orig
    end

    ip=local_ip
    puts ip
Run Code Online (Sandbox Code Playgroud)

所有这些都需要某人的IP地址.有没有使用别人的IP地址的解决方案?优选地,平台无关.

ruby sockets ip

24
推荐指数
3
解决办法
3万
查看次数

获取请求的ip的正确方法是什么

我找到了一些在servlet中获取ip的不同方法.但我不知道哪一个是正确的,为什么.

1:

request.getHeader( "X-Real-IP" )
Run Code Online (Sandbox Code Playgroud)

2:

  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.getHeader("HTTP_CLIENT_IP");  
    }  
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
        ip = request.getHeader("HTTP_X_FORWARDED_FOR");  
    }  
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) …
Run Code Online (Sandbox Code Playgroud)

java ip

24
推荐指数
2
解决办法
6万
查看次数

socket.error:[errno 99]无法在python中分配请求的地址和命名空间

我的服务器软件errno99: cannot assign requested address在使用除127.0.0.1绑定之外的IP地址时说.

但如果IP地址是127.0.0.1有效的.它与命名空间有关吗?

我通过调用在另一个python程序中执行我的服务器和客户端代码execfile().我实际上正在编辑mininet源代码.我编辑了net.py,在里面我使用了execfile('server.py')execfile('client1.py')和execfile('client2.py').所以一旦" sudo mn --topo single,3"被调用以及3个主机的创建我的服务器和客户端代码将被执行.我已经给出了我的服务器和客户端代码.

#server code
import select 
import socket 
import sys 
backlog = 5 
size = 1024 
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
server.bind(("10.0.0.1",9999)) 
server.listen(backlog) 
input = [server] 
running = 1 
while running: 
    inputready,outputready,exceptready = select.select(input,[],[]) 
    for s in inputready: 
        if s == server: 
            client, address = server.accept() 
            input.append(client)
        else: 
            l = s.recv(1024)
            sys.stdout.write(l)
server.close()
Run Code Online (Sandbox Code Playgroud)


#client code
import socket
import select
import sys
import time
while(1) …
Run Code Online (Sandbox Code Playgroud)

python sockets ip namespaces

24
推荐指数
4
解决办法
18万
查看次数

如何在swift中获取IP地址

我如何获得我的本地IpAddress?

我试着用这个Obj C例子:如何以编程方式获取iphone的ip地址

当我进入该功能时,getifaddrs()我无法进一步.我无法使用该功能.

有没有其他方法可以做到这一点,或者我是以错误的方式接近这个?

ip macos networking swift

24
推荐指数
1
解决办法
3万
查看次数

IPPROTO_IP与IPPROTO_TCP/IPPROTO_UDP

我在查找关于第三个参数的这些设置之间的区别的文档时遇到了一些麻烦socket.我知道TCP和UDP及其差异以及IP是堆栈上的一层(向下?)...我的UDP代码似乎工作相同,无论我将其设置为IPPROTO_IPIPPROTO_UDP.

sockets ip

23
推荐指数
1
解决办法
5万
查看次数

如何使用CIDR表示法查看IP地址是否属于一系列IP?

这里我有一个静态参考我需要检查的范围:

private static List<string> Ip_Range = new List<string>()
{
    "12.144.86.0/23",
    "31.201.1.176/30",
    "46.36.198.101/32",
    "46.36.198.102/31",
    "46.36.198.104/31",
    "46.136.172.0/24",
    "63.65.11.0/24",
    "63.65.12.0/25",
    "63.65.12.128/26",
    "63.65.12.192/27",
    "63.65.12.224/28",
    "63.65.12.240/29",
    "63.65.12.248/30",
    "63.65.12.252/31",
    "63.65.12.254/32",
    "65.173.56.0/21",
    "67.23.241.179/32",
    "67.23.241.180/30",
    "67.23.241.184/29",
    "67.23.241.192/30",
    "67.23.241.196/31",
    "67.23.241.198/32",
    "72.32.164.56/29",
    "72.46.244.32/28",
    "74.91.16.48/29",
    "74.91.16.208/29",
    "74.91.20.48/28",
    "74.91.20.64/29",
    "74.112.134.120/29",
    "74.112.135.104/29",
    "74.205.37.16/29",
    "78.24.205.32/28",
    "98.129.27.88/29",
    "98.129.91.40/29",
    "166.114.0.0/16",
    "167.157.0.0/16",
    "174.143.165.80/29",
    "186.0.156.0/22",
    "186.2.0.0/17",
    "186.27.0.0/17",
    "190.0.248.0/21",
    "190.3.184.0/21"
};
Run Code Online (Sandbox Code Playgroud)

这是我看到它如何工作的一些伪代码:

public static bool IpIsWithinRange(string ip) //Something like 127.0.0.1 or 184.56.26.35
{
    IPAddress incomingIp = IPAddress.Parse(ip);
    foreach (var subnet in Ip_Range)
    {
        IPAddress sub = IPAddress.Parse(subnet); ?????
        if …
Run Code Online (Sandbox Code Playgroud)

c# ip cidr

23
推荐指数
3
解决办法
2万
查看次数

Google App Engine - IP地址列表?

我知道Google App Engine不支持具有静态IP地址的应用程序,但我想知道应用程序可能具有的列表或IP地址范围?我想将该列表用作其他地方部署的其他应用程序的IP地址白名单.

ip google-app-engine ip-address range whitelist

23
推荐指数
4
解决办法
2万
查看次数

还有像freegeoip.net这样的网站

这个网站不再工作,因为我不能让它工作,它曾经工作.

有没有像它这样的RELIABLE服务

http://freegeoip.net/

ip location city

23
推荐指数
2
解决办法
2万
查看次数

如何在Java HttpServletRequest中获取客户端IP地址

我正在尝试开发一个Java Web应用程序(Servlet),我需要获取客户端的IP地址.

请不要将此视为重复问题,因为我尝试了stackoverflow中可用的所有可能答案.

以下是我的代码到目前为止:

1)

String ipAddress =  request.getRemoteAddr();
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我获得了"默认网关地址"(147.120.1.5).不是我的机器IP地址(174.120.100.17).

2)

String ipAddress = request.getHeader("X-FORWARDED-FOR");  
   if (ipAddress == null) {  
       ipAddress = request.getRemoteAddr();  
   } 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我获得了"默认网关地址"(147.120.1.5).不是我的机器IP地址(174.120.100.17).

3)

InetAddress IP=InetAddress.getLocalHost();
System.out.println(IP.getHostAddress());
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我得到了服务器IP地址(147.120.20.1).

我在147.120.100.17中的IP地址.现在我不知道如何获取真正的客户端IP地址.请回答.

非常感谢你.

java ip servlets

23
推荐指数
2
解决办法
6万
查看次数