作者Killercat (殺人貓™)
看板CSSE
標題Re: [問題] 有不加CRC或checksum的檔案傳輸方式嗎?
時間Mon Oct 15 21:16:57 2007
※ 引述《stinny (自由風)》之銘言:
: 因為我對程式撰寫方面很弱,所以希望的方式能有現成的程式,
: 然後自行設定參數即可。
: 先謝謝大家耐心看完問題 ^^
: PS: 我測試的通道錯誤率約10^(-6) 至 10^(-5)間。
如果不介意用linux測試的話(事實上win應該也做得到, 只是我沒實做過)
linux socket API提供raw socket protocol
int sockRaw = socket(AF_INET,
SOCK_RAW,
IPPROTO_RAW);
這個不是太難的東西, 我想能夠做出測試軟體的水準 應該夠handle這東西
順便解說一下, 雖然說各個layer(1沒有, 2 3 4 5(部分) )都有自己的checksum機制
不過我剛剛看了一次你的問題, 你應該是想去除的是Layer-4(TCP/UDP) checksum
這方面來講, UDP是完全符合你的要求的, 因為他完全沒有任何check machinery
不過如果你想要去除的是layer 2/3(Ethernet, IP)的話
這個RAW SOCKET的用法可以學一下
另外, 有一點必須說明一下, Layer-5的tftp protocol雖然跑UDP
可是不代表他自己沒有自己的check machinery =P
(沒有的話, cisco的機器大概當機率會大增吧...包含軟體update的一堆吃tftp的 -_-)
(想像一下沒有check機制的話, 傳一個核心開機檔給router開機有多可怕...)
anyway, 當然你也說過了你也許這方面有點困難
當然啦, 我就提供一下這個做出來的sniffer實作品 : WireShark
http://www.wireshark.org/
參考一下吧 (糟糕 好像真正對你有用的好像只有那行網址 XD)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.233.138.9
※ 編輯: Killercat 來自: 125.233.138.9 (10/15 21:19)
→ royalblue08:(糟糕 好像真正對你有用的好像只有那行網址 XD) XD 10/16 02:22
推 waterdisney:推薦整篇的觀念。 猜測tftp有自己的checksum才對 10/16 18:14
推 previa:推一個 感謝提攜後進:) 08/13 05:01