免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3285 | 回复: 8
打印 上一主题 下一主题

[FreeBSD] 查看当前系统的协议链表怎么办? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-02 10:42 |只看该作者 |倒序浏览
系统初始化将所有的协议domain链成一个链表,不知怎么能得到或查看它?
谢谢:)

论坛徽章:
0
2 [报告]
发表于 2007-11-02 14:12 |只看该作者
原帖由 lsyer 于 2007-11-2 10:42 发表
系统初始化将所有的协议domain链成一个链表,不知怎么能得到或查看它?
谢谢:)


在内核代码中搜DOMAIN_SET。

论坛徽章:
0
3 [报告]
发表于 2007-11-02 20:09 |只看该作者
这个方法不行,我指的是目前已经加载到内核中的协议。

论坛徽章:
0
4 [报告]
发表于 2007-11-05 09:01 |只看该作者
原帖由 lsyer 于 2007-11-2 20:09 发表
这个方法不行,我指的是目前已经加载到内核中的协议。


调一下内核就知道了:
  1. (kgdb) p domains
  2. $1 = (struct domain *) 0xc09864a0
  3. (kgdb) p *domains
  4. $2 = {dom_family = 17, dom_name = 0xc09109a5 "route", dom_init = 0, dom_externalize = 0, dom_dispose = 0,
  5.   dom_protosw = 0xc0986460, dom_protoswNPROTOSW = 0xc0986494, dom_next = 0xc0982420, dom_rtattach = 0, dom_rtoffset = 0,
  6.   dom_maxrtkey = 0, dom_ifattach = 0, dom_ifdetach = 0}
  7. (kgdb) p *domains.dom_next
  8. $3 = {dom_family = 1, dom_name = 0xc09102c1 "local", dom_init = 0xc06bf454 <unp_init>,
  9.   dom_externalize = 0xc06beeec <unp_externalize>, dom_dispose = 0xc06c00d8 <unp_dispose>, dom_protosw = 0xc0982380,
  10.   dom_protoswNPROTOSW = 0xc098241c, dom_next = 0xc0987540, dom_rtattach = 0, dom_rtoffset = 0, dom_maxrtkey = 0, dom_ifattach = 0,
  11.   dom_ifdetach = 0}
  12. (kgdb) p *domains.dom_next.dom_next
  13. $4 = {dom_family = 2, dom_name = 0xc09104c7 "internet", dom_init = 0, dom_externalize = 0, dom_dispose = 0,
  14.   dom_protosw = 0xc09870e0, dom_protoswNPROTOSW = 0xc0987524, dom_next = 0xc0989ce0, dom_rtattach = 0xc0717008 <in_inithead>,
  15.   dom_rtoffset = 32, dom_maxrtkey = 16, dom_ifattach = 0, dom_ifdetach = 0}
  16. (kgdb) p *domains.dom_next.dom_next.dom_next
  17. $5 = {dom_family = 28, dom_name = 0xc09129cc "internet6", dom_init = 0, dom_externalize = 0, dom_dispose = 0,
  18.   dom_protosw = 0xc0989a60, dom_protoswNPROTOSW = 0xc0989cd0, dom_next = 0x0, dom_rtattach = 0xc073a4c0 <in6_inithead>,
  19.   dom_rtoffset = 64, dom_maxrtkey = 28, dom_ifattach = 0xc0736d80 <in6_domifattach>, dom_ifdetach = 0xc0736e04 <in6_domifdetach>}
  20. (kgdb)
复制代码

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
5 [报告]
发表于 2007-11-05 09:35 |只看该作者
星期天把rootkit那本书看了,觉得很适合用于这样的hack,呵呵。

论坛徽章:
0
6 [报告]
发表于 2007-11-06 22:57 |只看该作者
多谢版主:)
不过现在又有一个问题,如果我想自己写个协议栈作测试,能不能写成模块的动态加载?
要不每次都得重新编译内核,太痛苦了。。

论坛徽章:
0
7 [报告]
发表于 2007-11-07 08:34 |只看该作者
原帖由 lsyer 于 2007-11-6 22:57 发表
多谢版主:)
不过现在又有一个问题,如果我想自己写个协议栈作测试,能不能写成模块的动态加载?
要不每次都得重新编译内核,太痛苦了。。


应该是可以的,模块加载之后把数据从原来的协议栈处理流程中转接出来就是了。

论坛徽章:
0
8 [报告]
发表于 2007-11-07 12:32 |只看该作者
目前在内核编译可以通过,bind也成功。但编译为module时就不行了。moduleevent中可以调用net_add_domain(),但是SYSCTL_NOD不能用,而且,socket调用我自己的AP_TEST也不成功。

论坛徽章:
0
9 [报告]
发表于 2007-11-08 08:47 |只看该作者
原帖由 lsyer 于 2007-11-7 12:32 发表
目前在内核编译可以通过,bind也成功。但编译为module时就不行了。moduleevent中可以调用net_add_domain(),但是SYSCTL_NOD不能用,而且,socket调用我自己的AP_TEST也不成功。


不清楚你的整个方案。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP