获取主机+端口

展开阅读全文

不能扫描对等主机端口

08-08

两台机子用跳线对连的,可以相互ping通,下面这个程序,分别在两台主机上对本机的端口扫描没有问题,但是扫描另一台主机的端口就不行了,为什么。rn#include rn#include rn#include rnint main(int argc, char *argv[]) rnint mysocket; rnint pcount = 0; rnstruct sockaddr_in my_addr; rnWSADATA wsaData;rnWORD wVersionRequested=MAKEWORD(1,1); rnif(argc < 4) rnrnprintf("用法: %s \n", argv[0]); rnexit(1);rnrnWSAStartup(wVersionRequested , &wsaData)rnfor(int i=atoi(argv[2]); i < atoi(argv[3]); i++)rnrnmysocket = socket(AF_INET, SOCK_STREAM,0)) rnmy_addr.sin_family = AF_INET;rnrnmy_addr.sin_port = htons(i);rnmy_addr.sin_addr.s_addr = inet_addr(argv[1]);rnif(connect(mysocket, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == SOCKET_ERROR)rnclosesocket(mysocket);rnelsernpcount++;//下一个端口rnprintf("端口 %d开放! \n", i);rnrnrnprintf("主机%s共有%d个端口开放! ", argv[1],pcount);rnclosesocket(mysocket);rnWSACleanup();rnreturn 0;rnrn1、什么叫 “对本机的端口扫描没有问题,但是扫描另一台主机的端口就不行了”rn具体症状?rn2、主机名用的是ip,还是名字?rn3、不行是指程序弹框,还是没有正确结果?没有正确结果在哪一步出错, 错误码是什么?rn4、行又是指什么?得到正确结果?rnrn1、运行时扫描本机的端口没有问题,本机开启的端口可以扫描得到,将扫描的IP地址指为另一台就不能扫描出开启的端口。扫描的结果为0个端口开放。其实应该是有端口开放的。rn2、主机用的是IP地址。如10.113.125.10rn3、不行就是不能扫描出开启的端口。 论坛

没有更多推荐了,返回首页