accept

CentOS7安装iptables防火墙

时间秒杀一切 提交于 2019-12-02 03:33:35
CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables status #安装iptables yum install -y iptables #升级iptables yum update iptables #安装iptables-services yum install iptables-services 禁用/停止自带的firewalld服务 #停止firewalld服务 systemctl stop firewalld #禁用firewalld服务 systemctl mask firewalld 设置现有规则 #查看iptables现有规则 iptables -L -n #先允许所有,不然有可能会杯具 iptables -P INPUT ACCEPT #清空所有默认规则 iptables -F #清空所有自定义规则 iptables -X #所有计数器归0 iptables -Z #允许来自于lo接口的数据包(本地访问) iptables -A INPUT -i lo -j ACCEPT #开放22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT #开放21端口(FTP) iptables

集合遍历

被刻印的时光 ゝ 提交于 2019-12-02 00:15:28
集合遍历 除了一般的自己遍历。 jdk1.8后Conllection接口中还提供了forEach方法可以进行集合遍历。 forEach(Comsumer c),参数是一个函数式接口可以使用lambda表达式来遍历。 这个Comsumer接口中只要实现accept方法(lambda)。accept的参数是要遍历的对象 lists.forEach((x)->sout(x)); (x)->sout(x)就是实现了accept也是实现了Consumer。 来源: https://www.cnblogs.com/macht/p/11722630.html

matlab使用贝叶斯优化的深度学习

喜夏-厌秋 提交于 2019-12-01 23:10:11
原文链接: http://tecdat.cn/?p=7954 此示例说明如何将贝叶斯优化应用于深度学习,以及如何为卷积神经网络找到最佳网络超参数和训练选项。 要训​​练深度神经网络,必须指定神经网络架构以及训练算法的选项。选择和调整这些超参数可能很困难并且需要时间。贝叶斯优化是一种非常适合用于优化分类和回归模型的超参数的算法。 准备数据 下载CIFAR-10数据集[1]。该数据集包含60,000张图像,每个图像的大小为32 x 32和三个颜色通道(RGB)。整个数据集的大小为175 MB。 加载CIFAR-10数据集作为训练图像和标签,并测试图像和标签。 [XTrain,YTrain,XTest,YTest] = loadCIFARData(datadir);idx = randperm(numel(YTest),5000);XValidation = XTest(:,:,:,idx);XTest(:,:,:,idx) = [];YValidation = YTest(idx);YTest(idx) = []; 您可以使用以下代码显示训练图像的样本。 figure; idx = randperm(numel(YTrain),20); for i = 1:numel(idx) subplot(4,5,i); imshow(XTrain(:,:,:,idx(i))); end

Tcp数据传输server/client

点点圈 提交于 2019-12-01 19:19:32
server主要的步骤: 1、创建套接字-->2、绑定服务器的信息—>3、默认的套接字由主动变为被动 listen-->4、等待客户端的链接 # 如果recv解堵塞,那么有2种方式:# 1. 客户端发送过来数据# 2. 客户端调用close导致而了 这里 recv解堵塞 def main(): # 1. 买个手机(创建套接字 socket) tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2. 插入手机卡(绑定本地信息 bind) tcp_server_socket.bind(("", 7890)) # 3. 将手机设置为正常的 响铃模式(让默认的套接字由主动变为被动 listen) tcp_server_socket.listen(128) # 循环目的:调用多次accept,从而为多个客户端服务 while True: print("等待一个新的客户端的到来...") # 4. 等待别人的电话到来(等待客户端的链接 accept) new_client_socket, client_addr = tcp_server_socket.accept() print("一个新的客户端已经到来%s" % str(client_addr)) # 循环目的: 为同一个客户端 服务多次 while

tcp三次握手

﹥>﹥吖頭↗ 提交于 2019-12-01 18:47:03
TCP 三次握手原理,你真的理解吗? tcp_abort_on_overflow 为0表示如果 三次握手第三步的时候全连接队列满了 那么server 扔掉client 发过来的ack (在server端认为 连接还没建立起来 );1表示第三步的时候如果全连接队列满了,server 发送一个reset包给client ,表示废掉这个握手过程和这个连接(本来在server端这个连接就还没建立起来)。 cat / proc /sys/net/ipv4/tcp_abort_on_overflow 0 TCP三次握手后有个accept全连接队列,进到这个队列才能从Listen变成accept,backlog这个值控制全连接队列的大小,默认backlog 值是50,很容易就满了。满了之后握手第三步的时候server就忽略了client发过来的ack包( tcp_abort_on_overflow 值为0时)(隔一段时间server重发握手第二步的syn+ack包给client,重发多少次由 /proc/sys/net/ipv4/tcp_synack_retries 决定),如果这个连接一直排不上队就异常了。 $ cat /proc/sys/net/ipv4/tcp_synack_retries 5 如何判断全连接队列满了 netstat -s |egrep "listen|LISTEN"

Python Socket编程1

浪尽此生 提交于 2019-12-01 13:53:22
socket的定义   Socket是应用层与 TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中, Socket其实就是一个门面模式,它把复杂的 TCP/IP协议族隐藏在 Socket接口后面,对用户来说,一组简单的接口就是全部,让 Socket去组织数据,以符合指定的协议。 所以,我们无需深入理解tcp/udp协议,socket已经为我们封装好了,我们只需要遵循socket的规定去编程,写出的程序自然就是遵循tcp/udp标准的。 补充:也有人将socket说成ip+port,ip是用来标识互联网中的一台主机的位置,而port是用来标识这台机器上的一个应用程序,ip地址是配置到网卡上的,而port是应用程序开启的,ip与port的绑定就标识了互联网中独一无二的一个应用程序,而程序的pid是同一台机器上不同进程或者线程的标识 套接字发展史及分类   套接字起源于 20 世纪 70 年代加利福尼亚大学伯克利分校版本的 Unix,即人们所说的 BSD Unix。 因此,有时人们也把套接字称为“伯克利套接字”或“BSD 套接字”。一开始,套接字被设计用在同 一台主机上多个应用程序之间的通讯。这也被称进程间通讯,或 IPC。套接字有两种(或者称为有两个种族),分别是基于文件型的和基于网络型的。 基于文件类型的套接字家族 套接字家族的名字:AF_UNIX unix一切皆文件

CentOS 7 最小化安装后的注意事项及一些必备组件的安装

瘦欲@ 提交于 2019-12-01 13:10:52
在VM虚拟机中安装CentOS 7 时 有时候顾虑到电脑硬件性能,我们需要最小化安装,而最小化安装后与centos6的版本是有一些差异的,接下来我们就对刚安装好的最小化centos7做一些操作,来世我们使用的更得心应手。 1. 最小化安装CentOS7,首先需要配置网络,和6系列一样 vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 这里的eno16777736是你的网卡名称,(我使用的是NAT模式,桥接模式自行修改IP地址)修改文件中 ONBOOT = no 为 ONBOOT = yes 启用你的网卡。 桥接模式修改IP地址百度一大堆,这里不再赘述。 最小化安装CentOS7后,在配置网络后,想查看我的IP,发现 ifconfig 命令是不好使得。在最小化的CentOS7中,查看网卡信息的命令应该是 ip addr 查看网络统计信息是 ip link , 为了方便起见 我们还是启用 ifconfig 命令。 首先我们看看,是哪个组件包含了 ifconfig 命令,用 yum provides ifconfig 或 yum whatprovides ifconfig 来查看 我们可以看到 ifconfig 命令是依赖于 net-tools 软件的 ,所以我们 yum install -y net-tools 安装该软件, 好了

高级配置指南

假如想象 提交于 2019-12-01 13:08:04
快速配置指南 下面是一个跟 Docker 网络相关的命令列表。 其中有些命令选项只有在 Docker 服务启动的时候才能配置,而且不能马上生效。 -b BRIDGE 或 --bridge=BRIDGE 指定容器挂载的网桥 --bip=CIDR 定制 docker0 的掩码 -H SOCKET... 或 --host=SOCKET... Docker 服务端接收命令的通道 --icc=true|false 是否支持容器之间进行通信 --ip-forward=true|false 请看下文容器之间的通信 --iptables=true|false 是否允许 Docker 添加 iptables 规则 --mtu=BYTES 容器网络中的 MTU 下面2个命令选项既可以在启动服务时指定,也可以在启动容器时指定。在 Docker 服务启动的时候指定则会成为默认值,后面执行 docker run 时可以覆盖设置的默认值。 --dns=IP_ADDRESS... 使用指定的DNS服务器 --dns-search=DOMAIN... 指定DNS搜索域 最后这些选项只有在 docker run 执行时使用,因为它是针对容器的特性内容。 容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables 防火墙来进行管理和实现。 iptables 是 Linux 上默认的防火墙软件

docker运行报错docker0: iptables: No chain/target/match by that name.

 ̄綄美尐妖づ 提交于 2019-12-01 12:05:54
转自: https://blog.csdn.net/wohaqiyi/article/details/84450562 docker运行报错docker0: iptables: No chain/target/match by that name.   最近在一个新的服务器上装服务,没有安装iptables ,后来安装了iptables 之后,忽然发现我的docker 不能运行了。   注意,可能别人的不行,我这个原因是,开始在新服务器上没有安装iptables ,先安装的docker ,后来才停用默认的firewall ,安装了iptables,就出现了这样的问题。其他原因,我不知道这方法可行不?先看错误:   运行时报出了以下错误: ———————————————— 启动docker服务报错 Error response from daemon: No such container: yn-userservice-30000 26126ca87430b74c3987817492cc890e72c36e2fec10d807e362a12f22365160 /usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint

TCP/IP和Socket的区别

百般思念 提交于 2019-12-01 03:18:30
要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。 对于网络编程,我们也言必称TCP/IP,似乎其它网络协议已经不存在了。对于TCP/IP,我们还知道TCP和UDP,前者可以保证数据的正确和可靠性,后者则允许数据丢失。最后,我们还知道,在建立连接前,必须知道对方的IP地址和端口号。除此,普通的程序员就不会知道太多了,很多时候这些知识已经够用了。最多,写服务程序的时候,会使用多线程来处理并发访问。 我们还知道如下几个事实: 1。一个指定的端口号不能被多个程序共用。比如,如果IIS占用了80端口,那么Apache就不能也用80端口了。 2。很多防火墙只允许特定目标端口的数据包通过。 3。服务程序在listen某个端口并accept某个连接请求后,会生成一个新的socket来对该请求进行处理。 于是,一个困惑了我很久的问题就产生了。如果一个socket创建后并与80端口绑定后,是否就意味着该socket占用了80端口呢?如果是这样的,那么当其accept一个请求后,生成的新的socket到底使用的是什么端口呢(我一直以为系统会默认给其分配一个空闲的端口号)