请教Linux内核处理ICMP_ECHO请求的问题

great23cn 2007-03-06 02:27:37
在linux内核中,收到ICMP_ECHO请求报文,只对报文的头部做修改
而数据部分不做修改直接反射给请求方。我想做点改动,在进行
响应处理的时候修改数据部分,将数据部分中首部的几个字节改为我
想放置的内容,但是该怎么做呢?
请方家给点指导!谢谢!

下面是内核中回显请求处理的代码:
net/ipv4/icmp.c (2.4.20-8的内核)
static void icmp_echo(struct sk_buff *skb)
{
if (!sysctl_icmp_echo_ignore_all) {
struct icmp_bxm icmp_param;

icmp_param.data.icmph=*skb->h.icmph;
icmp_param.data.icmph.type=ICMP_ECHOREPLY;
icmp_param.skb=skb;
icmp_param.offset=0;
icmp_param.data_len=skb->len;
icmp_param.head_len=sizeof(struct icmphdr);
icmp_reply(&icmp_param, skb);
}
}
...全文
294 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,436

社区成员

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

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