请教,关于如何判断数据包是给本地的还是需要转发的?

jiangbobo 2004-05-13 10:37:20
我利用netfilter框架的钩子函数NF_IP_PRE_ROUTING写了一个防火墙模块,但是在这里我怎么判断数据包是不是发给本地的呢?谢了。
...全文
172 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CoolQ 2004-05-13
  • 打赏
  • 举报
回复
看看SrcIP不就得了?
你的本地是指Localhost? 还是LocalNet?
gu_gth 2004-05-13
  • 打赏
  • 举报
回复
内核有个全局变量,in_ifaddr 遍历这个链表中的地址就可以了,至于内核提供的接口函数嘛,我想ioctl肯定是可以的,不过参数你自己要查一下
jiangbobo 2004-05-13
  • 打赏
  • 举报
回复
那我又怎么取得本地的ip地址呢?
gu_gth 2004-05-13
  • 打赏
  • 举报
回复
看看数据包的目的地址,如果是本机地址,广播地址,多播地址本组的,回调地址,不转发,否则,如果主机有路由功能,则转发,如果没有,丢弃这一包。
tianxiangyuan 2004-05-13
  • 打赏
  • 举报
回复
看看数据包的目的地址,如果不是本机,则需要转发。

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧