目标:对UPnP服务的端口映射增删改查操作。
参考:这篇文章原理说的比较清楚。
方案一
使用gupnp-tools,gupnp是一个upnp开发库,其中gupnp-tools带了一个工具gupnp-universal-cp(GUPnp通用控制点)程序,可用于控制。
ubuntu下安装。
sudo apt install gupnp-tools
主页地址,也可从此处下载源码。
以我的环境为例:

双击API,可以直接调用。

方案二
编写脚本,使用curl向upnp服务控制点发送POST请求,实现端口的增删改查增删改查。
这是对应于我的环境的一个脚本,链接