网络技术是从1990年代中期发展起来的新技术,它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息。资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等。 当前的互联网只限于信息共享,网络则被认为是互联网发展的第三阶段。
大家是不是大都使用别人的工具来搞入侵呢, 我也是, 不过从学了
编程以后, 老是想自己写点程序, 然后用它来入侵,这里就是教你如何实现自己的的梦想。
今天所要演示的是telnet的入侵, 近来的sunos_telnet搞的风风火火.
1.扫描一个IP段, 所以要写个IP扫描器
2.Telnet banner check, 看telnet的反应, 所以要写个system os check depent op telnet.
3.用sunos_telnet来测试, sunos_telnet.exe网上有下载.
第一步:
/* simple tcp portscan */
/* 只对一个IP的扫描 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netdb.h>
#define START_PORT 1
#define STOP_PORT 1024
struct sockaddr_in addr; /* 以struct sockaddr_in 结构定义 addr */
struct hostent *host;
struct servent *reply;
int sock, i;
int start_port; /* 起始端口 */
int stop_port; /* 结束端口 */
int usage(char *pro) /* 帮助 */
{
printf(" simple TCP scanner\n");
printf("usage: %s <Remote-host> <start port> <end port>\n",pro);
exit(1);
}
int scan(int port) /* scan()扫描 */
{
if((sock = socket(AF_INET,SOCK_STREAM,0)) < 0) { /* 建立socket描述符 */
printf("scan errno -> socket\n");
exit(1);
}
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr = *(struct in_addr *)host->h_addr;
if((connect(sock,(struct sockaddr *)&addr,sizeof(addr))) == 0) /*
建立连接,判断端口 */
return 0; /* 成功 */
else
return 1; /* 失败 */
}
int main(int argc,char *argv[]) /*主程序 */
{
char *service;
if(argc != 4)
usage(argv[0]);
start_port = atoi(argv[2]); /* 将argv[2]转换成整数*/
stop_port = atoi(argv[3]); /* 将argv[3]转换成整数*/
if(strcmp(argv[2],"-")== 0 && strcmp(argv[3],"-")== 0) { /* 对比 argv[2] argv[
3] 和 "-"符号 */
start_port = START_PORT; /* 如果是 "-" 的话,起始端口等于1 */
stop_port = STOP_PORT; /* 如果是 "-" 的话,结束端口等于1 */
}
if(start_port > stop_port) { /* 如果起始端口大于结束端口 */
printf(" start port can not greater than stop port.\n");
usage(argv[0]);
exit(1);
}
if((host = gethostbyname(argv[1])) == NULL) { /* 用gethostbyname()
来得到对方的信息 */
printf("can't get host info %s \n",argv[1]);
exit(1);
}
printf("Scanning host %s from %d to %d ......................\n",argv[1],
start_port,stop_port);
for(i=start_port;i<=stop_port;i++) /* 使用for语句对每个端口进行连接 */
{
if(scan(i) == 0) {
reply = getservbyport(htons(i),"tcp"); /* 用getservbyport得到端口信息 */
if(reply == NULL) /* 无法得到端口信息 */
service = "Uknown";
else
service = reply->s_name; /* reply->s_name 是端口服务 */
printf("Port %5d is open. \tservice <%s>\n",i,service);
}
close(sock);
}
}
/*****************************************************************************/
看懂上面的代码吗? 如果你看不懂的话, 或编写不成功, 就用superscan吧,
superscan扫描结果:
* + 209.249.191.73
关键词:从编程到入侵