标签: ip

Java获取我的IP地址

我想用Java获取我的Internet IP地址,但是当我的IP地址是192.168.0.xxx时,我一直得到我的本地地址(即:127.0.0.1)

我正在使用这条线:

InetAddress.getLocalHost().getHostAddress();
Run Code Online (Sandbox Code Playgroud)

这似乎是获取IP地址的标准,但它不是我想要的.每个教程都说使用这一行,所以我有点困惑.

谁能告诉我如何获得正确的IP地址?


我正在运行连接到WiFi的设备,而我没有使用任何电缆.我使用ifconfig inet addr给出的IP连接到服务器,我希望得到设备的inet addr.我可以检查服务器端套接字的IP,但是如果设备(客户端)告诉服务器他希望其他设备连接哪个IP,那就更好了.

java ip wifi

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

如何通过.NET访问ARP协议信息?

我想弄清楚我们的局域网中有哪些设备在线和离线.我见过许多程序在进行一种图形网络概述,提供局域网IP和MAC地址.我想知道是否以及如何从C#/ .NET中提取这些(ARP?)信息?

任何示例代码片段/链接将不胜感激.

.net c# ip lan arp

26
推荐指数
1
解决办法
4万
查看次数

设置UDP套接字的源IP

我有一个UDP套接字绑定到INADDR_ANY来监听我的服务器上的所有IP数据包.我通过同一个套接字发送回复.

现在,当发送数据包时,服务器会自动选择将哪个IP用作源IP,但我希望能够自己设置传出源IP.

有没有办法做到这一点,而无需为每个IP创建一个单独的套接字?

sockets ip udp interface

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

如果TCP是面向连接的,为什么数据包遵循不同的路径?

根据我的知识,如果必须设计互联网应用程序,我们应该使用面向连接的服务或无连接服务,但不能同时使用两者.

Internet的面向连接的服务是TCP,无连接服务是UDP,它们都驻留在Internet协议栈的传输层中.

Internet唯一的网络层是IP,这是一种无连接服务.所以它意味着我们设计的任何应用程序最终都使用IP来传输数据包.

面向连接的服务使用相同的路径来传输所有数据包,而无连接则不会.

因此我的问题是

如果设计了面向连接的应用程序,它应该使用相同的路径传输数据包.但IP通过使用不同的路由打破了规则.那么TCP和IP如何在这个意义上协同工作?这让我很困惑.

ip networking tcp packets

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

IP的地理查询如何运作?

是哪些IP分配给哪些ISP的公共信息?地理IP服务如何获取此信息并维护此信息?

如何在不使用其中一种服务的情况下亲自了解某个IP所属的位置?

ip dns ip-geolocation

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

在android中获取网关IP地址

如何获取网关IP详细信息,有使用wifimanager的选项但是.如果没有wify如何在使用usb tethering连接时在android设备中找到网关,dns和其他细节.

ip android gateway

25
推荐指数
4
解决办法
19万
查看次数

如何使用IP范围引用所有IP,例如XX.XX.XX.XX/24

如何使用IP范围引用所有IP,例如XX.XX.XX.XX/24?

ip networking

25
推荐指数
1
解决办法
4万
查看次数

golang区分IPv4 IPv6

对于我正在处理的程序,我必须检查IP(连接到Internet的IP)是公共还是私有.为此,我需要区分IP是IPv4还是IPv6.

我想根据IP的长度来检查它:

conn, err := net.Dial("udp", "8.9.10.11:2342")
if err != nil {
    fmt.Println("Error", err)
}

localaddr := conn.LocalAddr()

addr, _ := net.ResolveUDPAddr("udp", localaddr.String())

ip := addr.IP

fmt.Println(ip)
fmt.Println(len(ip))
Run Code Online (Sandbox Code Playgroud)

好吧,我的IP是192.168.2.100,所以IPv4,但len(ip)告诉我长度是16,这将是IPv6.我的错是什么?是否存在区分IPv4和IPv6的其他方法?

ip go

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

为docker容器提供可路由的ip地址

我在ubuntu 14.04上运行它并设置docker0为静态IP,然后通过防火墙从公共IP路由到.我正在尝试将我的后端API设置为在docker容器中运行,并且被一些事情搞糊涂了.

1.)我如何将docker0ip 映射到容器的ip,以便docker0知道将传入的数据包发送到容器(如果可能,动态地).

2.)如果还没有以这种方式完成,我怎么能这样做,以便每当我重新运行该docker容器时我都不必设置它?

提前致谢!

ip iptables docker boot2docker

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

使用docker-compose将docker容器相互链接时如何处理IP地址?

我正在使用docker-compose来构建一个完整的开发堆栈.

该应用程序需要一个mysql服务器才能工作.

mysql服务器是docker-compose设置的外部容器:

mysql:
    image: mysql:5.6
    volumes:
        - /data/mysql:/var/lib/mysql
        - ./docker/mysql.d:/etc/mysql/conf.d
    ports:
        - "3306:3306"
    environment:
        MYSQL_ROOT_PASSWORD: password
Run Code Online (Sandbox Code Playgroud)

该应用程序有自己的docker-compose.yml并引用mysql容器:

my-application:
    build: . # the Dockerfile resides in the current folder
    ports:
        - "9180:80"
        - "9543:443"
    external_links:
        - mysql_mysql_1:mysql
environment:
    DOCKER_ENVIRONMENT: dev
    DB_NAME: local_db
    DB_PASS: password
    DB_USER: root
    DB_HOST: # how to set the mysql's IP address?
Run Code Online (Sandbox Code Playgroud)

我无法在docker-compose中传递它们,因为它是动态的.

我知道应用程序知道mysql IP地址,因为我设置了某些变量:

application-container$ env|grep ADDR 
    MYSQL_PORT_3306_TCP_ADDR=172.17.0.241
Run Code Online (Sandbox Code Playgroud)

然而,这不是我的要求DB_HOST.

我可以以某种方式映射变量DB_HOST或以不同方式设置它吗?

ip docker docker-compose

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

标签 统计

ip ×10

docker ×2

networking ×2

.net ×1

android ×1

arp ×1

boot2docker ×1

c# ×1

dns ×1

docker-compose ×1

gateway ×1

go ×1

interface ×1

ip-geolocation ×1

iptables ×1

java ×1

lan ×1

packets ×1

sockets ×1

tcp ×1

udp ×1

wifi ×1