- 论坛徽章:
- 0
|
喜欢了解tcpip协议细节和底层编程的朋友们注意了:
28. 以太网协议解析
类库中新提供了根据以太网协议进行组包和解包的一个类TNetProt。这个类中提供了以太网数据包得解包、Arp的解包、IP的解包和打包、Icmp的解包和打包、Igmp的解包和打包、Tcp的解包和打包、udp的打包和解包。
这个类对于网络监控、分析等底层开发非常有帮助。
29. 以太网协议工具
类库中提供了一个以太网协议工具TNetTool,提供了Ping,Trace_Route, Lookup_Ip_Data等成员函数。
Ping用于检测目标主机是否可达。
函数功能:ping一个ip或主机,ping的原理是:发送icmp数据包, 接受网络返回的ip数据包,分析是否能达。
Trace_Route用于检测到达目标主机需要经过那些路由器。
函数功能:发现路由从本机指定ip到目标ip或主机的ip路由
原理:首先它发送一个TTL值为1的数据包。然后在后续的传送过程中逐次给要发送的数据包的TTL值加1,直到最终收到一个类型为0的ICMP 应答包,或达到了用户设定的最大路由数限制。在此传输过程中通过检查中继路由器送回的ICMP过期消息程序就可确定一个路由表。请注意有些路由器会自动删除TTL值为0的数据包,因此这些路由器是无法被跟踪的(将会在输出窗口看到一行类似"timeout"的消息)。
Lookup_Ip_Data用于检测那些IP数据到达本机,进一步可以用来分析通信协议,发现是否收到来自网络的恶意攻击或非法访问。
请下载新的库,详细说明在文档中有,同时有例子和Ping实现的源程序 |
|