gpt4 book ai didi

c - 从文件读取数据到数组 - C

转载 作者:太空宇宙 更新时间:2023-11-03 23:47:15 25 4
gpt4 key购买 nike

我正在 Kali Linux 上做一个项目,我在其中运行 Ettercap 工具,该工具列出网络上的 IP 地址并将它们保存到 .txt。然后我需要在另一个工具 nmap 上使用这些 IP,所以我想编写一个 C 代码,可以将 IP.txt 中的 IP 保存到一个数组中。到目前为止,这是最接近的工作代码:

#include <stdio.h>
#include <stdlib.h>

main(){

FILE *ipList;
ipList = fopen("IP.txt", "r");

int ipArray[10];
int i;

if (ipList == NULL)
{
printf("Error\n");
exit (0);
}
for (i = 0; i < 10; i++)
{
fscanf(ipList, "%d,", &ipArray[i] );

}

for (i = 0; i < 10; i++)
{
printf("nmap -A -T4 -F %d\n\n", ipArray[i]);
}

fclose(ipList);

return 0;
}

结果输出只是一堆随机数。有任何想法吗?我使用 Kali 重要吗?我的 ipArray 设置为 10;如果我没有 10 个 IP 地址,会有问题吗?


IP地址是这样存储的:

IP 地址:10.0.0.1

IP 地址:10.0.0.2

IP 地址:10.0.0.3

IP 地址:10.0.0.4


我取得了进步。这是我当前的输出:

nmap -A -T4 -F IP|nnmap -A -T4 -F 地址|nnmap -A -T4 -F :|nnmap -A -T4 -F 10.0.2.2|nnmap -A -T4 -F IP| nnmap -A -T4 -F 地址|nnmap -A -T4 -F :|nnmap -A -T4 -F 10.0.2.3|nnmap -A -T4 -F IP|nnmap -A -T4 -F 地址|nnmap -A -T4 -F :|nnmap -A -T4 -F 10.0.2.4

这是我当前的代码:

#include <stdio.h>

#include <stdlib.h>



main() {



FILE *ipList;
ipList = fopen("IP.txt","r");



char ip_addr[256];



while (fscanf(ipList, "%255s", ip_addr) == 1){

printf("nmap -A -T4 -F %s|n", ip_addr);

}



if (ipList == NULL){

printf("error\n");

exit (1);

}



fclose(ipList);

return 0;

}

所以现在我的目标是让代码忽略“IP 地址:”,如果可能的话将其作为列表输出。

最佳答案

假设输入格式是这样的行:

IP address : 10.0.0.1

然后您需要将地址作为字符串或 4 个独立的小整数来读取。

char *ip_address[16];

for (i = 0; i < 10; i++)
{
if (fscanf(fp, "IP address : %15s", ip_address) != 1)
…report format error…
…code to convert dotted-decimal to IPv4 address…
}

或:

int ip[4];

for (i = 0; i < 10; i++)
{
if (fscanf(fp, "IP address : %d.%d.%d.%d", &ip[0], &ip[1], &ip[2], &ip[3]) != 4)
…report format error…
for (j = 0; j < 4; j++)
{
if (ip[j] < 0 || ip[j] > 255)
…report bogus value…
}
…convert dotted-decimal values into IPv4 address…
}

关于c - 从文件读取数据到数组 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29873661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com