by kai_xiaoqi - 数据安全 - 2011-12-21 08:43:27 阅读(1138) 回复(0)
今天在学习honeyd源码的时候碰到了这样一段代码: /* Check for a dhcp server response */ if (is_etherpkt && ip->ip_p == IP_PROTO_UDP) { struct udp_hdr *udp; udp = (struct udp_hdr *)((u_char *)ip + (ip->ip_hl ip_hl if (ntohs(udp->uh_dport) == 68 && ntohs(udp->uh_sport) == 67) { dhcp_recv_cb(eth, ip, iplen); return; } } 开始对最后一个if中的68和67两个数字不解,但是看到他赋值...
我这边网络是通过RADHAT做dhcp服务器,每个交换机端口跟一个IP地址绑定,现在碰到的问题是一个端口本来是A电脑在用,然后B笔记本想临时用一下,就获取不到地址,我估计是因为地址分配给A电脑,租约没到期,所以这个端口地址池是满的,B笔记本就获取不到地址。请问有什么办法能解决这个问题吗!!!!
本帖最后由 waily 于 2011-11-05 21:06 编辑 怎么回事,防火墙设置了拒绝udp 67了还是不行!,甚至默认策略是全部拒绝都不行! udp dpt:bootps 就是 -p UDP --dport 67 了 -bash-4.1# iptables -L Chain INPUT (policy DROP) target prot opt source destination DROP udp -- anywhere anywhere udp dpt:bootps DROP udp -- anywhere anywhe...