linux c 编程之二 列出ip段.

原创 2004年09月07日 23:49:00

linux c 编程之二 列出ip段.

一思路:


有些扫描器,可能需要提供ip列表的.这个可以通过一些扫描器,得到的结果来 作为ip文件的输入,现在自己来写程序提供这些ip.产生a b c 类的ip.

 

二函数说明.


其中用到的选择函数switch .循环函数for
查相关函数说明.这里不提供说明! 


三编写程序:

 

建立文件:
nightcat@nightcat$vi showip.c


编辑以下内容:

/*showip.c version 1.0

 * the tools show ip include a b and c class's ip

 * you can see the tips for entering .

 * the tools writen by nightcat  email:ncnynl@hotmail.com

 *
 *Code BY Nightcat

 *April 2003

 * */

#include<stdio.h>

main()

{

  int chioce,i,j,k,a,b,c;

  FILE * fp;

 

 printf("please enter your chioce,/n enter 1 chioce a class./n enter 2 chiose b class. /n enter 3 chiose c class:/n");

  scanf("%d",&chioce);

  switch (chioce)
  {

      
 case 1:
                 
 printf("enter a as 211 enter /' -1/' to end  /n");
                     scanf("%d",&a);
                 
 if(a==-1){

                  break;

                  }
                
 if((fp=fopen("listipa.txt","w+"))==NULL){
                           printf("cann't open files./n");
                       
  exit(1);
                
 }
                 
 for(i=1;i<=254;i++){
                         
  for(j=1;j<=255;j++){
                                        for(k=1;k<=255;k++)
                                 fprintf(fp,"%d.%d.%d.%d/n",a,i,j,k);
                             }
                 
  }
                 
 fclose(fp);
                 
 break;
 
      
 case 2:
                 
  printf("enter b as 211.239 enter /'-1/' to end/n");
                    scanf("%d.%d",&a,&b);
                 
  if(a==-1){
                 
   break;
                 
  }
                 
 if((fp=fopen("listipb.txt","w+"))==NULL){
                     
  printf("cann't open files /n");
                     
     exit(1);
                  }
                 
 for(i=1;i<=255;i++){
                         
  for(j=1;j<=255;j++){
                                       fprintf(fp,"%d.%d.%d%.d/n",a,b,i,j);
                              }
                 
 }
                 
 fclose(fp);
                 
 break;

     
 
 case 3:
                 
  printf("enter c as 211.239.151 enter /'-1/' to end /n");
                    scanf("%d.%d.%d",&a,&b,&c);
                 
  if(a==-1){
                 
   break;
                 
   }
                 
  if((fp=fopen("listipc.txt","w+"))==NULL){
                         printf("cann't open files/n");
                     
   exit(1);
                 
   }
                 
  for(i=1;i<=255;i++){
                            fprintf(fp,"%d.%d.%d.%d/n",a,b,c,i);
                 
  }
                 
  fclose(fp);
                 
  break;
 
 }

}


保存退出:

:wq

编译执行:
nightcat@nightcat$gcc -o showip showip.c
nightcat@nightcat$./show

 

四.后言:

这个程序十分简单的.主要就是用了选择函数switch,和循环函数for.


还有文件的读写函数.fopen ,fprintf.fclose.

 


五.联系我:

nickname:nightcat

e-mail:ncnynl@hotmail.com

qq:1043931

icq:153436005

Linux网络编程--字符串IP和二进制IP转换

一:不安全的(不可重入性)inet_xxx()函数族由于计算机理解的IP都是以二进制形式保存的,那么在网络程序设计中经常会需要字符串IP和二进制IP的转换,linux系统有一组要用于网络地址转换的函数...
  • u010193457
  • u010193457
  • 2015年08月25日 14:02
  • 2958

【TCP/IP学习笔记1】 &C语言讲解

TCP/IP学习笔记(一) 一、 TCP/IP结构:      TCP/IP是一个四层协议,结构如下:      1、应用层:各种应用程序和协议,如Http、FTP等。      2、...
  • zh458042230
  • zh458042230
  • 2013年04月13日 12:57
  • 1240

C++实现将十进制的ip地址转换为二进制ip地址

手动输入十进制ip地址 ipput:255.255.255.255 output:
  • lanzhihui_10086
  • lanzhihui_10086
  • 2014年08月18日 16:58
  • 2178

linux C编程之二[GDB调试]

GDB调试器 GDB调试方法
  • huluboy
  • huluboy
  • 2015年03月03日 17:27
  • 219

Linux C编程连载(4)-基于TCP/IP的文件传输系统

【更新】 2012-08-15,改进Makefile 2012-08-07,补充Makefile 【设计目的】 通过Linux C编程,设计一个基于TCP/IP的文件传输系统,...
  • zhanzheng520
  • zhanzheng520
  • 2014年05月13日 15:49
  • 506

Linux c==网络编程的理论知识-五类IP的范围(31)

2、五类IP的范围7、抓包工具有哪些8、TCP数据包的组成以及UDP数据包的组成9、并发服务器,分布式服务器(结构)10、HTTP协议11、C/S和B/S架构和区别和选择...
  • weirdosick
  • weirdosick
  • 2016年12月12日 13:47
  • 249

Linux C编程连载【4】-基于TCP/IP的文件传输系统

一、        设计目的 通过Linux C编程,设计一个基于TCP/IP的文件传输系统,实现网络文件的收发。 二、        设计环境 VMware WorkStation...
  • gudianyunzhi
  • gudianyunzhi
  • 2011年11月11日 14:31
  • 326

Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip 、获取本地主机的名字

struct ifreq { #define IFHWADDRLEN 6 union { char ifrn_name[IFNAMSIZ]; } ifr_ifrn; un...
  • u011425939
  • u011425939
  • 2017年05月25日 11:38
  • 617

Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip

获取本地 ip 地址,mac,通过域名获取对应的 ip, 是网络编程可能遇到的比较常见的操作了,所以总结如下(封装了3个函数), 直接上代码: #include #include #include...
  • chinaeran
  • chinaeran
  • 2014年12月11日 20:15
  • 5336

linux c 网络编程:用域名获取IP地址或者用IP获取域名 网络地址转换成整型 主机字符顺序与网络字节顺序的转换

用域名获取IP地址或者用IP获取域名 #include #include #include int main(int argc,char **aggv) { struct hosten...
  • scdxmoe
  • scdxmoe
  • 2014年05月13日 19:42
  • 1522
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux c 编程之二 列出ip段.
举报原因:
原因补充:

(最多只允许输入30个字)