unsigned char c1, c2, c3, c4, d1, d2, d3, d4;
c1 = (filter_rules[i].src_ip >> 24) & 0xFF;
c2 = (filter_rules[i].src_ip >> 16) & 0xFF;
c3 = (filter_rules[i].src_ip >> 8) & 0xFF;
c4 = filter_rules[i].src_ip & 0xFF;
d1 = (filter_rules[i].dst_ip >> 24) & 0xFF;
d2 = (filter_rules[i].dst_ip >> 16) & 0xFF;
d3 = (filter_rules[i].dst_ip >> 8) & 0xFF;
d4 = filter_rules[i].dst_ip & 0xFF;
seq_printf(m, "srcip=%d.%d.%d.%d,", c1, c2, c3, c4);
seq_printf(m, "dstip=%d.%d.%d.%d\n", d1, d2, d3, d4);
c1 = (filter_rules[i].src_ip >> 24) & 0xFF;
c2 = (filter_rules[i].src_ip >> 16) & 0xFF;
c3 = (filter_rules[i].src_ip >> 8) & 0xFF;
c4 = filter_rules[i].src_ip & 0xFF;
d1 = (filter_rules[i].dst_ip >> 24) & 0xFF;
d2 = (filter_rules[i].dst_ip >> 16) & 0xFF;
d3 = (filter_rules[i].dst_ip >> 8) & 0xFF;
d4 = filter_rules[i].dst_ip & 0xFF;
seq_printf(m, "srcip=%d.%d.%d.%d,", c1, c2, c3, c4);
seq_printf(m, "dstip=%d.%d.%d.%d\n", d1, d2, d3, d4);
本文介绍了一种将32位整数形式的IPv4源地址和目标地址转换为点分十进制格式的方法,并通过一系列位操作实现了这一过程。此外,还展示了如何使用seq_printf函数将转换后的IP地址以字符串的形式输出。
467

被折叠的 条评论
为什么被折叠?



