linux c 简单端口扫描程序
2015-08-04 21:03
609 查看
#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <malloc.h> #include <pthread.h> #include <semaphore.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/time.h> #include <sys/ioctl.h> #include <netinet/in.h> #include <errno.h> #include <string.h> int SERVER_PORT= 1; #define SERVER_IP "127.0.0.1" #define WRITE_BUF_SIZE 1024 #define SUCCESS 0 #define FAILURE -1 int main(int argc, char **argv) { int sfd; int iReadNum; char acBuf[WRITE_BUF_SIZE]; struct sockaddr_in saddr; int socklen; int iClientLen; int iReturn; if(argc!=2) { printf("usage:./a.out 127.0.0.1\n"); return FAILURE; } printf("scanning port 1-8888...... \n"); while(SERVER_PORT<8889) { //socket_init sfd = socket(AF_INET, SOCK_STREAM, 0); if (sfd < 0) { perror("socket()"); return FAILURE; } //套接口设置 saddr.sin_family = AF_INET; //inet_pton将点分十进制--》二进制整数 inet_pton(AF_INET, argv[1], &saddr.sin_addr); saddr.sin_port = htons(SERVER_PORT); socklen = sizeof(saddr); //尝试连接自己的地址以及端口 iReturn = connect(sfd, (const struct sockaddr *)&saddr, socklen); if(iReturn >= 0) { sleep(1); printf("port %d open\n",SERVER_PORT); } close(sfd); SERVER_PORT++; } return SUCCESS; }
相关文章推荐
- LoadRunner监控Linux的步骤
- linux MySQL相关问题
- 阅读linux内核需要的名词注释
- Linux C语言程序设计(十)——makefile
- linux 把文件安装到指定路径
- linux echo命令的-n、-e两个参数
- VMware centos 设置上网的步骤
- linux回调函数
- 在Linux下安装和使用MySQL
- 使用 jsch 连接linux
- 微信公众号开发之被逼学web服务端1-----使用SecureCRT连接Linux服务器
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- 设计模式之工厂模式
- ceph存储 Linux-Futex浅析
- Linux 命令tail手动实现
- Linux ACL权限设置
- mac/linux常用命令
- Linux服务器编程(1)
- CentOS设置程序开机自启动的方法
- linux下创建用户 费元星站长