标签: inet-aton

在mysql表中查找可用的IP范围

我有以下sql.适用于搜索IP.但我也希望能够如此搜索

select * from table 
where (INET_ATON(ip) BETWEEN INET_ATON('10.12.77.1') AND INET_ATON('10.12.77.10') )
limit 30
Run Code Online (Sandbox Code Playgroud)

结果很好

10.12.77.2
10.12.77.5
10.12.77.6
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得可用的IP

10.12.77.1
10.12.77.3
10.12.77.4
10.12.77.7
10.12.77.8
10.12.77.9
10.12.77.10
Run Code Online (Sandbox Code Playgroud)

是可以在mysql中做,还是应该用Java做?

谢谢

mysql inet-aton

9
推荐指数
1
解决办法
713
查看次数

inet_aton转换010.000.000.001错了?

我有inet_aton转换网络地址的问题.下面的代码可以很好地转换地址10.0.0.1

char *x1;
struct sockaddr_in si_other;
inet_aton("10.0.0.1", &si_other.sin_addr);
printf("si_other.sin_addr =%lu\n",si_other.sin_addr);
x1 = inet_ntoa(si_other.sin_addr);
printf("x1=%s\n",x1);
Run Code Online (Sandbox Code Playgroud)

它输出:

si_other.sin_addr =16777226
x1=10.0.0.01
Run Code Online (Sandbox Code Playgroud)

到目前为止没问题.但是,该函数在010.000.000.001传递时会起作用

char *x2;
struct sockaddr_in si_other2;
inet_aton("010.000.000.001", &si_other2.sin_addr);
printf("si_other2.sin_addr =%lu\n",si_other2.sin_addr);
x2 = inet_ntoa(si_other2.sin_addr);
printf("x2=%s\n",x2);
Run Code Online (Sandbox Code Playgroud)

输出:

si_other.sin_addr2 =16777224
x2=8.0.0.01
Run Code Online (Sandbox Code Playgroud)

当该功能正常工作192.168.0.1192.168.000.001传递.

任何人都可以解释我的问题是什么以及如何解决问题?(注意:我需要传递010.000.000.001我的代码中的IP地址)

c sockets inet-aton

7
推荐指数
1
解决办法
1537
查看次数

inet_aton IPv4地址的规范化

inet_aton假设规范化互联网地址的点版本?为什么我会得到下面示例的不同输出值?

int main(){
    char USER_IP[16] = "192.168.002.025";
    char USER_IP2[16] = "192.168.2.25";
    struct sockaddr_in addr;
    struct sockaddr_in addr2;

    inet_aton(USER_IP2, &addr.sin_addr);
    inet_aton(USER_IP, &addr2.sin_addr);

    printf("addr.sin_addr:%lu\n", addr.sin_addr);
    printf("addr2.sin_addr:%lu\n", addr2.sin_addr);


    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

addr.sin_addr:419604672
addr2.sin_addr:352495808
Run Code Online (Sandbox Code Playgroud)

c linux radix inet-aton

7
推荐指数
1
解决办法
262
查看次数

是否有任何.NET Framework方法可以执行INET_ATON()

这样做可以在下面进行

address = '174.36.207.186'

( o1, o2, o3, o4 ) = address.split('.')

integer_ip =   ( 16777216 * o1 )
             + (    65536 * o2 )
             + (      256 * o3 )
             +              o4
Run Code Online (Sandbox Code Playgroud)

c# inet-aton

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

C 中 inet_aton() 和 gethostbyname() 之间的区别?

我正在学习C 和TCP/UDP。正如标题... C 中的 inet_aton() 和 gethostbyname() 有什么区别吗?据我所知,两者都将 IP 地址从字符串转换为数字。

c gethostbyname inet inet-aton

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

如何在 MySQL 中使用 INET_ATON 对 IP 地址进行通配符搜索?

我发现这种使用 INET_ATON 将 IP 地址作为整数存储在 MySQL 数据库中的方法:https ://stackoverflow.com/a/5133610/4491952

由于 IPv4 地址的长度为 4 个字节,因此您可以使用正好为 4 个字节的INT( UNSIGNED)

`ipv4` INT UNSIGNED
Run Code Online (Sandbox Code Playgroud)

INET_ATONINET_NTOA它们转换:

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
Run Code Online (Sandbox Code Playgroud)

对于 IPv6 地址,您可以改用 a BINARY

`ipv6` BINARY(16)
Run Code Online (Sandbox Code Playgroud)

并使用PHP 的inet_ptonandinet_ntop进行转换:

'INSERT INTO `table` (`ipv6`) VALUES ("'.mysqli_real_escape_string(inet_pton('2001:4860:a005::68')).'")'
'SELECT `ipv6` FROM `table`'
$ipv6 = inet_pton($row['ipv6']);
Run Code Online (Sandbox Code Playgroud)

但是如何使用 INET_ATON 和 PHP 的 ip2long 函数进行通配符搜索,例如 192.168.%?

php mysql inet-aton ip2long

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

警告:从不兼容的指针类型传递'inet_aton'的参数2。

我不知道此错误的含义以及如何解决该错误。

我一直在关注C入门Sock)et编程教程| Eduonix的第2部分,在Youtube上,但是我一直无法从这个家伙那里运行任何东西,代码来自他的教程。

如果有人可以帮助我了解此错误的含义以及如何解决该错误?

这是错误:

inet_aton(address, &remote_address.sin_addr.s_addr);
                   ^
Run Code Online (Sandbox Code Playgroud)
[1007:1003 0:6758] 09:30:39 Wed May 29 [kristjan@Kundrum:pts/5 +1] ~/C_Programming
$ gcc http_client_tcp.c -o http_client_tcp
http_client_tcp.c: In function ‘main’:
http_client_tcp.c:24:24: warning: passing argument 2 of ‘inet_aton’ from incompatible pointer type [-Wincompatible-pointer-types]
     inet_aton(address, &remote_address.sin_addr.s_addr);
                        ^
In file included from http_client_tcp.c:8:0:
/usr/include/arpa/inet.h:73:12: note: expected ‘struct in_addr *’ but argument is of type ‘in_addr_t * {aka unsigned int *}’
 extern int inet_aton (const char *__cp, struct in_addr *__inp) __THROW;
            ^~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

我在Visual Studio …

c error-handling pointers compiler-errors inet-aton

1
推荐指数
1
解决办法
99
查看次数