之前学过很长一段时间,我记得当时还花钱找了个专业的人使劲问一些不懂的问题,感觉有人指路会很好弄。
结果其实不然,他得思路未必适合你的使用。然后这几天一直都在纠结一些东西,不知道怎么去实现。
目前想到的方案是用C来实现底层的通讯,中间加锁来减轻通讯压力。被迫复习SOCKET,我一直都很喜欢Perl
因为我一直都觉得它是代替C的工具,但是其实在某种情况下,Perl是有瓶颈的。Python也是如此。
自己按照复习的顺序写了个socket的案例,跟扫描相关。我本来就是做安全类的东西,不多解释了。。
#include<sys/socket.h> #include<stdio.h> #include<netinet/in.h> #include<string.h> int testport(int port,char address[]); void main(){ int i; for(i=1;i<65535;i++){ if(testport(i,"192.168.31.254")==1){ printf("%d:端口开放 ",i); } } } int testport(int port,char address[]){ //定义sockfd int sock_cli=socket(AF_INET,SOCK_STREAM,0); //定义sockaddr_in struct sockaddr_in servaddr; memset(&servaddr,0,sizeof(servaddr)); //设定协议族 servaddr.sin_family=AF_INET; //设定端口 servaddr.sin_port=htons(port); //设定地址 servaddr.sin_addr.s_addr=inet_addr(address); //判断是否连接成功 if(connect(sock_cli,(struct sockaddr *)&servaddr,sizeof(servaddr))<0){ return -1; }else{ return 1; } }