線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1902
推到 Plurk!
推到 Facebook!

tracert改TTL值

答題得分者是:RaynorPao
yensj
一般會員


發表:16
回覆:13
積分:5
註冊:2008-09-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-10-11 10:04:51 IP:218.162.xxx.xxx 訂閱
小弟正在寫一個tracert的程式
用的是TTL遞增去讓Router產生Time Exceeded
遇到一些問題
int IP_TTL=7;
setsockopt(Ping_SOCKET,IPPROTO_IP,IP_TTL,(LPSTR)&TimeToLive,sizeof(int));
不知道要怎麼改TTL的值
上面程式碼是亂試寫的
當我把IP_TTL值設成7的時候,他會回傳GetWay的IP
但是Getway不是讓TTL為1就會達到Time Exceeded嗎?
不知道是不是我設TTL的方法錯了?
還有setsockopt倒數第二個參數的功用是在做什麼的?
麻煩各位幫忙解答一下 謝謝

RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-10-12 22:09:38 IP:61.60.xxx.xxx 訂閱
(1)改成以下這個寫法,看看是否可行?

[code cpp]
int ttl = 7 ;
setsockopt(sock, IPPROTO_IP, IP_MULTICAST_TTL, (char *)&ttl, sizeof(ttl));

[/code]

(2)或者直接參考 M$ 的技術說明文件 http://support.microsoft.com/kb/257460/zh-tw
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
yensj
一般會員


發表:16
回覆:13
積分:5
註冊:2008-09-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-10-20 00:26:41 IP:220.136.xxx.xxx 訂閱
感謝大大的文件

已經順利解決問題囉
系統時間:2017-12-15 19:57:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!