tpot从elastic search拉攻击数据之二 配置端口映射
2018-07-30 11:51 ZealouSnesS 阅读(909) 评论(0) 编辑 收藏 举报虽然知道了本地的数据接口位置,但是我们需要的是从远程拉取数据,所以我们需要更改es的ip端口为0.0.0.0:xxxx。
直接修改下图的elasticsearch.yml配置文件,结果发现无效。
这是因为es部署在docker中,直接修改配置文件没有用,需要进行docker端口映射。
使用docker ps命令查看目前的docker端口映射情况:
可以发现elastic search进程从docker中的9200端口映射到了主机的127.0.0.1:64298端口
查看一下:
确实是这样的。
接下来修改端口映射
总结了一下网上的方法,修改端口映射主要有四种方法。
1、最常用的:启动doker镜像,运行docker run命令时使用-p指定要映射到的ip和端口
$ docker run -d -p 8080:80 nginx
23e725098712d061a1382f33d6fe54da23ae37597a62f8debdd3731b5f9cc4b9
$
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23e725098712 nginx "nginx -g 'daemon ..." 8 seconds ago Up 6 seconds 0.0.0.0:8080->80/tcp frosty_ptolemy
这种方法我猜是可行的,但是关键是tpot中的docker服务是tpot自动启动起来的,如果想要在tpot启动doker时加上这行参数,我就要去找doker run这行命令在哪。
试一下:
想到运行时的命令为 systemctl start tpot.service
于是搜索了一下tpot.service文件的位置,找到了无数个,哪个是启动脚本?
发现是:/etc/systemd/system/下的tpot.service,参考https://www.echoteen.com/centos7-systemctl.html
打开这个文件看了一眼,.service文件的读法也参考上面那篇,简单来说就是主要看[service]部分:
[Service]部分是服务的关键,是服务的一些具体运行参数的设置,这里Type=forking是后台运行的形式,PIDFile为存放PID的文件路径,ExecStart为服务的具体运行命令,ExecReload为重启命令,ExecStop为停止命令,PrivateTmp=True表示给服务分配独立的临时空间,注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!
看了一下这个文件,word天,调用了好多脚本,没法找,这个方法暂时放弃
2、修改hostconfig.json 和 config.v2.json 文件
https://blog.csdn.net/u011241780/article/details/79457876
这种方法试了一下,不适合tpot这种情况,因为一旦关闭doker服务或者关闭tpot服务,这两个文件所在的临时文件夹就消失了
3、使用iptables命令转发端口
试一下,输入命令:
将docker中的9200端口映射到主机的8000端口
外网访问一下:
成功!
查看已设置的iptables规则:-L显示规则表 -t指定表名
iptables规则查看与删除:https://blog.csdn.net/chengxuyuanyonghu/article/details/51897666
4、制作一个镜像,然后用docker run -p命令启动镜像
参考:https://www.jb51.net/article/127630.htm