1、用C語言編寫一個得到域名的IP的程序
||輸入 域名
結果的 4小節整數 存 int d1,d2,d3,d4 變數中。
#include <stdio.h>
#include <stdlib.h>
void main()
{
char ym[80]="www.baidu.com";
FILE *fp;
char cmd[120];
char nameout[]="tmp_ping.txt"; // 臨時文件
char str3[32];
int i,len,d1,d2,d3,d4;
printf("Enter domain address\n");
scanf("%s",&ym[0]);
sprintf(cmd,"ping %s -n 1 > %s\0",ym,nameout);
system(cmd);
fp = fopen(nameout,"r");
fscanf(fp,"%*s %*s %s",&str3[0]);
fclose(fp);
len = strlen(str3);
for (i=0;i<len;i++) if ( str3[i] == '[' || str3[i] == ']'|| str3[i] == '.') str3[i] = ' ';
sscanf(str3, "%d %d %d %d",&d1,&d2,&d3,&d4);
printf("ip=%d.%d.%d.%d\n",d1,d2,d3,d4);
sprintf(cmd,"ERASE /F /Q %s\0",nameout); // 刪去臨時文件
system(cmd);
getchar();
}
程序未考慮錯誤域名和無IP返回的域名,你可以自己補充幾行處理程序。
2、C語言中 如何實現域名轉換為IP 高分
char cmd[100];
char url[]="www.BAIDU.COM";
char tmp_file_name[]="tmp.txt";
FILE *fp;
sprintf(cmd,"nslookup %s > %s",url,tmp_file_name);
system(cmd);
if ( (fp=fopen(tmp_file_name,"r"))==NULL ){
printf("can not open %s\n",tmp_file_name);
exit(0);
}
// 然後按行讀。跳過前兩行。找後面的行。
// 如果某行第一個字元串是Addresses:
// 第二個字元串就是 IP
tmp.txt:
Server: aaaaaaaaaa
Address: nnn.nnn.nnn.nnn
Non-authoritative answer:
Name: www.a.shifen.COM
Addresses: 119.75.213.61, 119.75.216.30
Aliases: www.BAIDU.COM
3、用C語言編寫一個得到域名的IP的程序,得到的IP放入指定的變數中
我可以得出IP,但是不能把IP賦給變數,本人菜鳥一隻,學C不到兩個月,所以只能做到這了,代碼給樓主
#include<stdio.h>
#include<stdlib.h>
void main()
{
char str[50],str1[40];
printf("請輸入域名:");
gets(str1);
sprintf(str,"ping %s",str1);
system(str);
}
滿意就給分,不滿意就不用了
4、如何只用C語言,通過域名得到IP地址
#
5、用C語言編寫一個域名提取的程序,如何選擇抓包工具,域名的正則表達式怎麼寫?
用libpcap這個工具,很強大。
抓包部分在中文手冊中有源代碼。我就給你講講獲取域名吧。
首先http包才有域名,並且是你三次握手後第一個包。
包到手後累加14+20+tcp->doff*4後邊的信息中有host:*****的消息
14是MAC頭 20是ip頭 後邊那個 是 tcp頭 長度(由於tcp頭長度不定,但是有標志位的。)
至於怎麼提取你自己寫吧
6、linux c下已經獲得域名如何得知SMTP伺服器?
用MX RECORD查詢, 網上有很多例子。
7、域名a,b,c跳轉到域名F
302跳轉啊 如果你的伺服器是nginx
if ($host ~ '^a.com{如果是apache
.htaccess文件添加
<IfMole mod_rewrite.c>302是臨時跳轉 301是永久跳轉。