概述
//=======================ping============================
void ping_test(************)
{
char command[100]="ping";
char ipaddr[20];
strcpy(ipaddr,ipaddress);
strcat(command,ipaddr);
system(command);
printf("路由ping验证开启,等待%s响应!n",ipaddress);
}
//==================tracerouet==========================
void traceroute_test(************)
{
char command[100]="traceroute ";
char ipaddr[20];
strcpy(ipaddr,ipaddress);
strcat(command,ipaddr);
system(command);
printf("路由traceroute验证开启,等待%s响应!n",ipaddress);
}
//======================syn==============================
int syn_test(***********)
{
char ipaddr[20];
strcpy(ipaddr,ipaddress);
int sockfd;
struct sockaddr_in serv_addr;
FILE *fp;
fp = fopen("test.txt","w+");
if(fp == NULL)
{
fprintf(fp,"打开文件错误!n");
return 0;
}
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
fprintf(fp, "socket creating error!n");
return 0;
}
else
printf("socket creating success!n");
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(PORT);
serv_addr.sin_addr.s_addr = inet_addr(ipaddr);
int c = connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(struct sockaddr));
if(c == -1)
{
fprintf(fp,"%s : SYN探测包发送成功,等待回应...nn",ipaddr);
if(errno == 111)
fprintf(fp,"%s : Host is alive!",ipaddr);
else if(errno == 113)
fprintf(fp,"%s : No route to host!",ipaddr);
else
{
if(errno == 146)
fprintf(fp,"%s : Host is alive!",ipaddr);
else if(errno == 148)
fprintf(fp,"%s : No route to host!",ipaddr);
else
fprintf(fp,"Host is alive!但有错误值返回 : %d",errno);
}
}
else if(c == 0)
{
fprintf(fp,"%s : SYN探测包发送成功,等待回应...nn",ipaddr);
fprintf(fp,"%s : Host is alive!n",ipaddr);
}
else
{
fprintf(fp,"%s : SYN探测包发送失败!nn",ipaddr);
fprintf(fp,"Connect error ID : %d",c);
}
fclose(fp);
close(sockfd);
return 0;
}
最后
以上就是过时黄蜂为你收集整理的探测网络设备(主机、路由器)存活的方法的全部内容,希望文章能够帮你解决探测网络设备(主机、路由器)存活的方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复