#include<winsock2.h>
#include<stdio.h> #include <time.h> //计时需要用到的头文件 #pragma comment(lib,"ws2_32.lib") #include <time.h> //计时需要用到的头文件 clock_t start,end; //程序运行的起始和结束时间 float costtime; //程序耗时 void usage(void) { printf("\tusage: tcpscan RemoteIP StartPort-EndPort\n"); printf("\tExample: tcpscan 192.168.1.1 80-100\n"); } int main(int argc,char **argv) { char *host; int startport,endport; char *p; if(argc!=) { usage(); return ; } p=argv[]; //处理端口参数 if(strstr(argv[],"-")) { startport=atoi(argv[]); for(;*p;) if(*(p++)=='-')break; endport=atoi(p); if(startport< || endport>) { printf("Port Error!\n"); return ; } } host=argv[]; WSADATA ws; SOCKET s; struct sockaddr_in addr; int result; long lresult; lresult=WSAStartup(MAKEWORD(,), &ws); addr.sin_family =AF_INET; addr.sin_addr.s_addr =inet_addr(host); start=clock(); //开始计时 for (int i=startport;i<endport;i++) { s=socket(AF_INET, SOCK_STREAM, ); addr.sin_port = htons(i); if(s==INVALID_SOCKET)break; result=connect(s, (struct sockaddr*)&addr,sizeof(addr)); if(result==) { printf("%s %d\n",host,i); closesocket(s); } } end=clock(); //计时结束 costtime= (float)(end - start) / CLOCKS_PER_SEC; //转换时间格式 printf("Cost time:%f second",costtime); //显示耗时 WSACleanup(); }

最新文章

  1. 篇二:JS身份证校验
  2. mybatis---实现关联表查询
  3. Ping出现TTL expired in transit的原因
  4. Unity中HDR外发光的使用
  5. Nginx 的RTMP打流模块配置
  6. SOA_环境安装系列1_Oracle SOA Suite11g安装总括(案例)
  7. Oracle的卸载与安装
  8. webservice 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下运行,将出现此问题
  9. 《JAVASCRIPT高级程序设计》window/location/navigator/screen/history对象
  10. php 不能取得session值的一个解决方法
  11. 为何学习matplotlib-【老鱼学matplotlib】
  12. 【C++】10.18日的C++笔记
  13. 【做题】BZOJ2342 双倍回文——马拉车&amp;并查集
  14. SpringBoot入门示例
  15. LeetCode题解之Max Consecutive Ones
  16. 【Android病毒分析报告】- 手机支付毒王“银行悍匪”的前世今生
  17. bootstrap-treeview使用
  18. Erlang中atom的实现
  19. cocos命令行生成项目
  20. C#——Winform 无边框随意拖动【转载】

热门文章

  1. Java从零开始学六(运算符)
  2. serialport控件的详细用法
  3. Starting MySQL.. ERROR! The server quit without updating PID file (/gechong/mysqldata/10-9-23-119.pid).
  4. 原创:微信小程序调用【统一下单】、【支付】、【支付回调】api并处理请求
  5. 让MyEclipse支持mac的Retina屏解决字体模糊的问题
  6. HDUOJ------(1230)火星A+B
  7. tomcat使用方法大全
  8. 更安全的HTTPS
  9. 一种时间复杂度为O(n)的排序方法(转载)
  10. OAF_OAF控件系列8 - SubTab的实现(案例)