网络安全端口安全映射工具编写代码1

1.birchutils

1.birchutils.h

#ifndef Birchutils

#define Birchutils

#include <stdio.h>

#include <string.h>

#include <stdint.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <arpa/inet.h>

typedef unsigned char int8;

typedef unsigned short int int16;

typedef unsigned int int32;

int8 *todotted(in_addr_t);

void zero(int8*, int16);

#endif

2.birchutils.c

#include "birchutils.h"

void zero(int8 *str, int16 size)

{

int8 *p;

int16 n;

for(n=0,p=str;n<size;n++,p++)

{

*p=0;

return;

}

}

int8 *todotted(in_addr_t ip){

int8 a, b,c,d;

static int8 buf[16];

d =((ip & 0xff000000) >> 24);

c = ((ip & 0xff0000) >> 16);

b =((ip & 0xff00) >> 8);

a =((ip&0xff));

zero(buf,16);

snprintf((char *)buf,15,"%d.%d.%d.%d",a,b,c,d);

return buf;

}

3.makefile

flags=-O3 -Wall -std=c2x

ldflags=-fPIC -shared -ldl -D_GNU_SOURCE

all: clean birchutils.so

birchutils.so: birchutils.o

cc {flags} ^ -o @ {ldflags}

birchutils.o: birchutils.c

cc {flags} -c ^

clean:

rm -rf birchutils.o birchutils.so

相关推荐
CoderYanger1 天前
动态规划算法-简单多状态dp问题:15.买卖股票的最佳时机含冷冻期
开发语言·算法·leetcode·动态规划·1024程序员节
CoderYanger1 天前
递归、搜索与回溯-FloodFill:33.太平洋大西洋水流问题
java·算法·leetcode·1024程序员节
liulilittle1 天前
C++ 并发双阶段队列设计原理与实现
linux·开发语言·c++·windows·算法·线程·并发
CoderYanger1 天前
动态规划算法-斐波那契数列模型:2.三步问题
开发语言·算法·leetcode·面试·职场和发展·动态规划·1024程序员节
CoderYanger1 天前
动态规划算法-简单多状态dp问题:16.买卖股票的最佳时机含手续费
开发语言·算法·leetcode·动态规划·1024程序员节
wuletaotao1 天前
Windows 下 Redis 使用完整教程
数据库·windows·redis
CoderYanger1 天前
C.滑动窗口-求子数组个数-越短越合法——3258. 统计满足 K 约束的子字符串数量 I
java·开发语言·算法·leetcode·1024程序员节
CoderYanger1 天前
动态规划算法-路径问题:9.最小路径和
开发语言·算法·leetcode·动态规划·1024程序员节
CoderYanger1 天前
动态规划算法-路径问题:7.礼物的最大价值
开发语言·算法·leetcode·动态规划·1024程序员节
渡我白衣1 天前
并行的野心与现实——彻底拆解 C++ 标准并行算法(<execution>)的模型、陷阱与性能真相
java·开发语言·网络·c++·人工智能·windows·vscode