📄 405.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://apue.dhs.org"><font face="黑体"><big><big>apue</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center"> ● UNIX网络编程 (BM: clown) </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="index.htm">回到开始</a>][<a href="316.htm">上一层</a>][<a href="406.htm">下一篇</a>]
<hr><p align="left"><small>cc -o pscan pscan.c -lsocket -lnsl <br>
---------------------------------------------------------------------------- <br>
---- <br>
cloudsky 于 00-6-23 11:56:36 加贴在 绿盟科技论坛(bbs.nsfocus.com)--UNIX系统 <br>
安全: <br>
static char sccsid[] = "@(#)pscan.c 1.0 (KRAD) 08/25/94"; <br>
#include <stdio.h> <br>
#include <sys/types.h> <br>
#include <sys/socket.h> <br>
#include <netinet/in.h> <br>
#include <netdb.h> <br>
#define MAX_PORT 1024 /* scan up to this port */ <br>
int s; <br>
struct sockaddr_in addr; <br>
char rmt_host[100]; <br>
int skan(port) <br>
int port; <br>
{ <br>
int r; <br>
s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); <br>
if (s < 0) { <br>
/* fprintf("ERROR: socket() failed\n");*/ <br>
/* Changed to printf for my Linux1.1.18 box */ <br>
printf("ERROR: socket() failed\n"); <br>
exit(0); <br>
} <br>
addr.sin_family = PF_INET; <br>
addr.sin_port = port; <br>
addr.sin_addr.s_addr = inet_addr(rmt_host); <br>
r = connect(s,(struct sockaddr *) &addr, sizeof(addr)); <br>
close(s); <br>
if (r < 0) { <br>
return (1 == 0); <br>
} <br>
return (1 == 1); <br>
} <br>
main(argc,argv) <br>
int argc; <br>
char *argv[]; <br>
{ <br>
int a,b,c,d,e,f; <br>
struct hostent *foo; <br>
struct servent *bar; <br>
if (argc < 2) { <br>
fprintf(stderr,"usage: %s <host> [highestport]\n",argv[0]); <br>
exit(0); <br>
} <br>
if (sscanf(argv[1],"%d.%d.%d.%d",&a,&b,&c,&d)!= 4) { <br>
foo = gethostbyname(argv[1]); <br>
if (foo == NULL) { <br>
fprintf(stderr,"error:cannot resolve host %s\n",argv[1]); <br>
exit(0); <br>
} <br>
sprintf(rmt_host,"%d.%d.%d.%d",(unsigned char )foo->h_addr_list[0][0], <br>
<br>
(unsigned char ) foo->h_addr_list[0][1], <br>
(unsigned char ) foo->h_addr_list[0][2], <br>
(unsigned char ) foo->h_addr_list[0][3]); <br>
} else { <br>
strncpy(rmt_host,argv[1],99); <br>
} <br>
if (argc > 2) { <br>
f = atoi(argv[2]); <br>
} else <br>
f = MAX_PORT; <br>
fprintf(stdout,"Scanning host %s - TCP ports 1 through %d\n",rmt_host,f); <br>
<br>
for (e =1;e<=f;e++) { <br>
char serv[100]; <br>
if (skan(e)) { <br>
bar = getservbyport(e,"tcp"); <br>
printf("%d (%s) is running.\n",e,(bar== NULL) ? "UNKNOWN" : <br>
bar->s_name); <br>
} <br>
} <br>
} <br>
</small><hr>
<p align="center">[<a href="index.htm">回到开始</a>][<a href="316.htm">上一层</a>][<a href="406.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -