分享
 
 
 

端口扫描分析

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。

在手工进行扫描时,需要熟悉各种命令。对命令执行后的输出进行分析。用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。

通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。

下面首先介绍几个常用网络命令,对端口扫描原理进行介绍,然后提供一个简单的扫描程序。第一节

几个常用网络相关命令

Ping命令经常用来对TCP/IP网络进行诊断。通过目标计算机发送一个数据包,让它将这个数据包反送回来,如果返回的数据包和发送的数据包一致,那就是说你的PING命令成功了。通过这样对返回的数据进行分析,就能判断计算机是否开着,或者这个数据包从发送到返回需要多少时间。

一。几个常用网络相关命令

1.Ping命令的基本格式:

ping hostname

其中hostname是目标计算机的地址。Ping还有许多高级使用,下面就是一个例子。

C: ping -f hostname

这条命令给目标机器发送大量的数据,从而使目标计算机忙于回应。在Windows 95的计算机上,使用下面的方法:

c:\windows\ping -l 65510 saddam_hussein's.computer.mil

这样做了之后,目标计算机有可能会挂起来,或从新启动。由于 -l 65510 产生一个巨大的数据包。由于要求返回一个同样的数据包,会使目标计算机反应不过来。

在Linux计算机上,可以编写一个程序来实现上述方法。

#include

#include

#include

#include

#include

#include

#include

#include

/*

* If your kernel doesn't muck with raw packets, #define REALLY_RAW.

* This is probably only Linux.

*/

#ifdef REALLY_RAW

#define FIX(x) htons(x)

#else

#define FIX(x) (x)

#endif

int

main(int argc, char **argv)

{

int s;

char buf[1500];

struct ip *ip = (struct ip *)buf;

struct icmp *icmp = (struct icmp *)(ip + 1);

struct hostent *hp;

struct sockaddr_in dst;

int offset;

int on = 1;

bzero(buf, sizeof buf);

if ((s = socket(AF_INET, SOCK_RAW, IPPROTO_IP))

perror("socket");

exit(1);

}

if (setsockopt(s, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on))

perror("IP_HDRINCL");

exit(1);

}

if (argc != 2) {

fprintf(stderr, "usage: %s hostname\n", argv[0]);

exit(1);

}

if ((hp = gethostbyname(argv[1])) == NULL) {

if ((ip-ip_dst.s_addr = inet_addr(argv[1])) == -1) {

fprintf(stderr, "%s: unknown host\n", argv[1]);

}

} else {

bcopy(hp-h_addr_list[0], &ip-ip_dst.s_addr, hp-h_length);

}

printf("Sending to %s\n", inet_ntoa(ip-ip_dst));

ip-ip_v = 4;

ip-ip_hl = sizeof *ip 2;

ip-ip_tos = 0;

ip-ip_len = FIX(sizeof buf);

ip-ip_id = htons(4321);

ip-ip_off = FIX(0);

ip-ip_ttl = 255;

ip-ip_p = 1;

ip-ip_sum = 0; /* kernel fills in */

ip-ip_src.s_addr = 0; /* kernel fills in */

dst.sin_addr = ip-ip_dst;

dst.sin_family = AF_INET;

icmp-icmp_type = ICMP_ECHO;

icmp-icmp_code = 0;

icmp-icmp_cksum = htons(~(ICMP_ECHO

/* the checksum of all 0's is easy to compute */

for (offset = 0; offset

ip-ip_off = FIX(offset 3);

if (offset

ip-ip_off |= FIX(IP_MF);

else

ip-ip_len = FIX(418); /* make total 65538 */

if (sendto(s, buf, sizeof buf, 0, (struct sockaddr *)&dst,

sizeof dst)

fprintf(stderr, "offset %d: ", offset);

perror("sendto");

}

if (offset == 0) {

icmp-icmp_type = 0;

icmp-icmp_code = 0;

icmp-icmp_cksum = 0;

}

}

}

2.Tracert命令用来跟踪一个消息从一台计算机到另一台计算机所走的路径,比方说从你的计算机走到浙江信息超市。在DOS窗口下,命令如下:

C:\WINDOWStracert 202.96.102.4

Tracing route to 202.96.102.4 over a maximum of 30 hops

1 84 ms 82 ms 95 ms 202.96.101.57

2 100 ms 100 ms 95 ms 0fa1.1-rtr1-a-hz1.zj.CN.NET [202.96.101.33]

3 95 ms 90 ms 100 ms 202.101.165.1

4 90 ms 90 ms 90 ms 202.107.197.98

5 95 ms 90 ms 99 ms 202.96.102.4

6 90 ms 95 ms 100 ms 202.96.102.4

Trace complete.

上面的这些输出代表什么意思?左边的数字是该路由通过的计算机数目。"150 ms"是指向那台计算机发送消息的往返时间,单位是微秒。由于每条消息每次的来回的时间不一样,tracert将显示来回时间三次。"*"表示来回时间太长,tracert将这个时间“忘掉了”。在时间信息到来后,计算机的名字信息也到了。开始是一种便于人们阅读的格式, 接着是数字格式。

C:\WINDOWStracert 152.163.199.56

Tracing route to dns-aol.ANS.NET [198.83.210.28]over a maximum of 30 hops:

1 124 ms 106 ms 105 ms 202.96.101.57

2 95 ms 95 ms 90 ms 0fa1.1-rtr1-a-hz1.zj.CN.NET [202.96.101.33]

3 100 ms 90 ms 100 ms 202.101.165.1

4 90 ms 95 ms 95 ms 202.97.18.241

5 105 ms 105 ms 100 ms 202.97.18.93

6 100 ms 99 ms 100 ms 202.97.10.37

7 135 ms 98 ms 100 ms 202.97.9.78

8 760 ms 725 ms 768 ms gip-ftworth-4-serial8-3.gip.net [204.59.178.53]

9 730 ms 750 ms 715 ms gip-ftworth-4-serial8-3.gip.net [204.59.178.53]

10 750 ms 785 ms 772 ms 144.232.11.9

11 740 ms 800 ms 735 ms sl-bb11-pen-2-0.sprintlink.NET [144.232.8.158]

12 790 ms 800 ms 735 ms sl-nap2-pen-4-0-0.sprintlink.net [144.232.5.66]

13 770 ms 800 ms 800 ms p219.t3.ans.net [192.157.69.13]

14 775 ms 820 ms 780 ms h14-1.t60-6.Reston.t3.ANS.NET [140.223.17.18]

15 780 ms 800 ms 800 ms h11-1.t60-2.Reston.t3.ANS.NET [140.223.25.34]

16 790 ms 795 ms 800 ms h14-1.t104-0.Atlanta.t3.ANS.NET [140.223.65.18]

17 * h14-1.t104-0.Atlanta.t3.ANS.NET [140.223.65.18] reports: Destination host unreachable.

Trace complete.

3.rusers和finger

这两个都是Unix命令。通过这两个命令,你能收集到目标计算机上的有关用户的消息。

使用rusers命令,产生的结果如下示意:

gajake snark.wizard.com:ttyp1 Nov 13 15:42 7:30 (remote)

root snark.wizard.com:ttyp2 Nov 13 14:57 7:21 (remote)

robo snark.wizard.com:ttyp3 Nov 15 01:04 01 (remote)

angel111 snark.wizard.com:ttyp4 Nov14 23:09 (remote)

pippen snark.wizard.com:ttyp6 Nov 14 15:05 (remote)

root snark.wizard.com:ttyp5 Nov 13 16:03 7:52 (remote)

gajake snark.wizard.com:ttyp7 Nov 14 20:20 2:59 (remote)

dafr snark.wizard.com:ttyp15Nov 3 20:09 4:55 (remote)

dafr snark.wizard.com:ttyp1 Nov 14 06:12 19:12 (remote)

dafr snark.wizard.com:ttyp19Nov 14 06:12 19:02 (remote)

最左边的是通过远程登录的用户名。还包括上次登录时间,使用的SHELL类型等等信息。

使用finger可以产生类似下面的结果:

user S00 PPP ppp-122-pm1.wiza Thu Nov 14 21:29:30 - still logged in

user S15 PPP ppp-119-pm1.wiza Thu Nov 14 22:16:35 - still logged in

user S04 PPP ppp-121-pm1.wiza Fri Nov 15 00:03:22 - still logged in

user S03 PPP ppp-112-pm1.wiza Thu Nov 14 22:20:23 - still logged in

user S26 PPP ppp-124-pm1.wiza Fri Nov 15 01:26:49 - still logged in

user S25 PPP ppp-102-pm1.wiza Thu Nov 14 23:18:00 - still logged in

user S17 PPP ppp-115-pm1.wiza Thu Nov 14 07:45:00 - still logged in

user S-1 0.0.0.0 Sat Aug 10 15:50:03 - still logged in

user S23 PPP ppp-103-pm1.wiza Fri Nov 15 00:13:53 - still logged in

user S12 PPP ppp-111-pm1.wiza Wed Nov 13 16:58:12 - still logged in

这个命令能显示用户的状态。该命令是建立在客户/服

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有