snull是作什么用的?

实际上ldd上说的太复杂 ,不太让人好懂,就是ldd的作者为了让俺们调试方便,让我们能够在一台机器上进行调试人为地搞了那么多乱七八糟的东西,snull发出的包在发出前目的地址被修改了 ,就这么点事情 ,比如我们ping 192.168.0.123 ,硬件收到包后调用snull的包处理部分,这个部分先把收到的包的目的地址改为192.168.1.123 ,然后再把这个包丢给应用程序 ,于是一句话 ,俺原来ping 192.168.0.123发出的icmp包变成了ping 192.168.1.123产生的icmp包,所以这个时候需要给自己的系统配一个1.123的地址就可以收到这个包
      ifconfig sn0 192.168.0.123
      ifconfig sn1 192.168.1.123
这样 ,当俺们运行ping 192.168.0.123 的时候俺们通过地址192.168.1.123收到了这个包
  这个搞清楚了后就可以看代码了,调试的时候也可以用任意的tcpip的客户端服务器端都可以发送接收数据成功,都已经到了实践6了俺相信如果各位同胞对简单的tcpip socket服务器端和客户端的通信的例子都不会写的情况就很少了,所以俺就不列出测试代码了  。网上有很多 。或者直接ping 192.168.0.123通过驱动种俺打印出来的包内容也可以进行分析判断驱动是否生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值