亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
traceroute的問題
[打印本頁]
作者:
nfshanq
時(shí)間:
2005-03-17 23:29
標(biāo)題:
traceroute的問題
怎么允許traceroute和ping通過而拒絕其他的ICMP包?
我這樣做ACL:
> access-list 101 permit icmp any any echo
> access-list 101 permit icmp any any echo-reply
> access-list 101 permit icmp any any traceroute
> access-list 101 deny icmp any any
> 得到這樣的結(jié)果:
> C:Documents and SettingsAdministrator>tracert 202.103.0.117
>
> Tracing route to ns1.hbwhptt.net.cn [202.103.0.117]
> over a maximum of 30 hops:
>
> 1
> 2 * * * Request timed out.
> 3 * * * Request timed out.
> 4 * * * Request timed out.
> 5 10 ms 10 ms 10 ms ns1.hbwhptt.net.cn [202.103.0.117]
>
> Trace complete.
>
> C:Documents and SettingsAdministrator>
對這個(gè)問題的分析如下:
我用cisco的router做了一下。
*Mar 2 18:24:38.779: IP: s=1.1.12.1 (Serial2/0.12), d=1.1.23.3 (Serial2/0.23), len 56, access denied
*Mar 2 18:24:38.779: ICMP type=3, code=3
*Mar 2 18:24:41.819: IP: s=1.1.12.1 (Serial2/0.12), d=1.1.23.3 (Serial2/0.23), len 56, access denied
*Mar 2 18:24:41.819: ICMP type=3, code=3
Traceroute的時(shí)候要用到 type=3 ,code=3的icmp packet。
=====================================================
ICMP Fields:
Type
3
Code
0 = net unreachable;
1 = host unreachable;
2 = protocol unreachable;
3 = port unreachable;
4 = fragmentation needed and DF set;
5 = source route failed.
(From RFC792)
======================================================
Traceroute程序的設(shè)計(jì)是利用ICMP及IP header的TTL(Time To Live)欄位(field)。首先,traceroute送出一個(gè)TTL是1的IP datagram(其實(shí),每次送出的為3個(gè)40字節(jié)的包,包括源地址,目的地址和包發(fā)出的時(shí)間標(biāo)簽)到目的地,當(dāng)路徑上的第一個(gè)路由器(router)收到這個(gè)datagram時(shí),它將TTL減1。此時(shí),TTL變?yōu)?了,所以該路由器會(huì)將此datagram丟掉,并送回一個(gè)「ICMP time exceeded」消息(包括發(fā)IP包的源地址,IP包的所有內(nèi)容及路由器的IP地址),traceroute 收到這個(gè)消息后,便知道這個(gè)路由器存在于這個(gè)路徑上,接著traceroute 再送出另一個(gè)TTL是2 的datagram,發(fā)現(xiàn)第2 個(gè)路由器...... traceroute 每次將送出的datagram的TTL 加1來發(fā)現(xiàn)另一個(gè)路由器,這個(gè)重復(fù)的動(dòng)作一直持續(xù)到某個(gè)datagram 抵達(dá)目的地。當(dāng)datagram到達(dá)目的地后,該主機(jī)并不會(huì)送回ICMP time exceeded消息,因?yàn)樗咽悄康牡亓,那么traceroute如何得知目的地到達(dá)了呢?
Traceroute在送出UDP datagrams到目的地時(shí),它所選擇送達(dá)的port number 是一個(gè)一般應(yīng)用程序都不會(huì)用的號碼(30000 以上),[color="#ff0000"]所以當(dāng)此UDP datagram 到達(dá)目的地后該主機(jī)會(huì)送回一個(gè)「ICMP port unreachable」的消息,而當(dāng)traceroute 收到這個(gè)消息時(shí),便知道目的地已經(jīng)到達(dá)了。所以traceroute 在Server端也是沒有所謂的Daemon。(From Juniper Document)
因此,traceroute要知道這個(gè)IP是可達(dá)的需要
[color="#ff0000"]permit icmp any any unreachable
另外:
access-list 101 permit icmp any any traceroute 可以不需要。
這里使用的icmp traceroute是一種新的 traceroute的算法。(
http://www.rfc-editor.org/rfc/rfc1393.txt
)
這個(gè)算法比原先老的算法更加的快。而且占用的網(wǎng)絡(luò)帶寬要小。但是,前提是需要router的支持。
Cisco的traceroute是用的老的算法。(從debug信息中可以看出來。)
Windows就不知道是什么用什么了。(沒有裝sniffer :()
本文來自ChinaUnix博客,如果查看原文請點(diǎn):
http://blog.chinaunix.net/u/1397/showart_16228.html
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2