我声明了以下变量
unsigned long dstAddr;
unsigned long gateWay;
unsigned long mask;
这些变量包含网络字节顺序的in地址。因此,当我尝试使用inet_ntoa函数为掩码变量打印点符号时,有时会打印奇怪的值。下面的代码在一个while循环中。循环n次。
printf("%s\t%s\t%s\t",inet_ntoa(dstAddr),inet_ntoa(gateWay),inet_ntoa(mask));
192.168.122.0 0.0.0.0 0.255.255.255
我将一个ip存储在数据库中,作为一个无符号int,但是当我尝试运行这个select时,我会得到一个语法错误。以下两个版本我都试过了。
SELECT `id`, INET_NTOA(`from`) AS from, INET_NTOA(`to`) AS to, `campaignid` FROM `customiplist` WHERE `campaignid` = 1
SELECT id, INET_NTOA(from) AS from, INET_NTOA(to) AS to, campaignid FROM customiplist WHERE campaignid = 1
#10
我试图将ip值转换为包含在uint32_t数据类型中的十六进制。所以我不认为这是错误的,因为inet_ntoa得到了iphdr->saddr and iphdr->daddr,但是我在inet_ntoa函数调用中得到了segFault。gcc警告说
warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
92 | char *recv = inet_ntoa(*(struct in_addr*)
这是我的密码
uint32_t
当我试图在特定的IP范围之间选择数据时,我遇到了一个问题,所有东西都是使用INET_ATOM和INET_NTOA保存的。
我一直得到一个错误'#1242 -子查询返回超过1行‘
导致错误的子查询是:
WHERE
dst_address NOT BETWEEN(
SELECT
INET_NTOA(iprangestart) AS iprangestart
FROM
accountingipranges
) AND(
SELECT
INET_NTOA(iprangestart) AS iprangestart
我使用修改中的C代码来打印通过接口的TCP数据包的信息,使用libpcap。
这是我试图使用的回调代码示例,用于检查接收到的数据包是否具有与当前接口的IP地址相等的源字段(因此只分析传出数据包)。这是一个相当广泛的项目,所以我决定只包括有问题的部分:
// retrieve IP address of interface
char * dev_name = "eth0";
struct ifreq ifr;
int fd;
char *dev_ip;
fd = socket(AF_INET, SOCK_DGRAM, 0);
// type of address to
我需要使用以下代码将用户数据打包到IP计费
SELECT ip_address, SUM(upload_bytes) as upload_bytes, SUM(download_bytes) as
download_bytes
FROM ((SELECT src_address as ip_address, SUM(bytes) AS upload_bytes, 0 as
download_bytes
FROM ipaccounting
WHERE src_address BETWEEN ('192.168.0.1') AND ('192.168.255.254&
在这段代码中,我捕获了数据包,并尝试使用inet_ntoa显示源地址和目标地址,甚至在此之前,我以十六进制格式打印数据包的源地址和dst地址。这里的问题是两者都不匹配,inet_ntoa的o/p是错误的,如o/p所示
the src ip address should be 172.28.6.87 but inet_ntoa shows 86.212.172.28
the src ip address should be 172.28.6.110 but inet_ntoa shows 6.87.172.28
char *ptr = NULL;
ptr_fltr = (st
我利用winapi函数inet_ntoa将无符号长十进制数转换成ip地址,在反向.I中得到ip地址,使用网站获取输入ip地址的十进制等价物。
for ex decimal equivalent of 206.117.16.66 is 3463778370
如果我使用函数inet_ntoa取回ip,它给出的ip是相同的代码,请告诉我正确的方法。
#include<stdio.h>
#include<WinSock2.h>
#pragma comment(lib, "Ws2_32.lib")
int main()
{
U
我正在学习通过阅读NetBSD源代码片段来“阅读代码”。
(对于感兴趣的人,我正在阅读<代码阅读:开源视角>)
我找到了这个函数:
/* convert IP address to a string, but not into a single buffer
*/
char *
naddr_ntoa(naddr a)
{
#define NUM_BUFS 4
static int bufno;
static struct {
char str[16]; /* xxx.xxx.xxx.xxx\0 */
} bufs[NUM_BUFS];
c
这是否可能,我对这个问题的标题有意义吗?
我正在努力从数据库table中获得所有信息,但是我需要运行一个函数,比如SQL或PHP。
因此,真正的简短例子将是:
SELECT * FROM `table` WHERE `ip` = '$this->ip'
但是,我使用INET_ATON()来存储IP和INET_NTOA()来检索它。我也可以使用PHP的函数ip2long()和long2ip(),但我仍然不知道如何使用相同的查询来完成这样的任务
SELECT `id`, INET_NTOA(`ip`) as `ip`, `points`
FROM `table` WHERE