批量ping工具

来源:互联网 发布:python 遍历嵌套字典 编辑:程序博客网 时间:2024/04/26 00:55

批量ping工具


本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.


调试设备分配IP,公司有限的几个IP常冲突,所以写了小工具来查看空闲IP.


#include <stdio.h>#include <string.h>#include <stdlib.h>void change_ip(char *src_ip,int num,char *dst_ip){char str_num[20];int i = 0,j = 0;;int num_dot = 0;int num2 = 0;for (i = 0;i < 20;i++){if (src_ip[i] == '.'){num_dot++;continue;}if (num_dot >= 3){str_num[j++] = src_ip[i];}if (src_ip[i] == '\0'){break;}}num2 = atoi(str_num) + num;itoa(num2,str_num,10);j = 0;num_dot = 0;for (i = 0;i < 20;i++){if (src_ip[i] == '.'){num_dot++;dst_ip[i] = '.';continue;}if (num_dot >= 3){dst_ip[i] = str_num[j++];}else{dst_ip[i] = src_ip[i];}if (src_ip[i] == '\0'){break;}}}int main(int argc, char** argv){int i = 0;char *str_ip[20];int num = 1;int ping_num = 4;int ping_ttl = 255;char *temp[100];char *temp_num[10];char *str_ip2[20];//获得起始IPstrcpy(str_ip,argv[1]);//获得IP数目if (argc >= 3){strcpy(temp,argv[2]);num = atoi(temp);}//获得ping的次数if (argc >= 4){strcpy(temp,argv[3]);ping_num = atoi(temp);}//获得ttlif (argc >= 5){strcpy(temp,argv[4]);ping_ttl = atoi(temp);}//开始pingfor (i = 0;i < num;i++){temp[0] = '\0';strcat(temp,"ping -n ");itoa(ping_num,temp_num,10);strcat(temp,temp_num);strcat(temp," -i ");itoa(ping_ttl,temp_num,10);strcat(temp,temp_num);strcat(temp," ");change_ip(str_ip,i,str_ip2);strcat(temp,str_ip2);system(temp);}return 0;}

例子:
ping_tool 192.168.0.1 10 2 20
含义:
从192.168.0.1开始ping,一共ping 10个IP,到192.168.0.10,每个IP ping 2次,每个IP的TTL为20ms


原创粉丝点击