ftp的主动模式active mode和被动模式 passive mode的配置和区别

2023-11-19

共同点:

客户端先发起命令连接。

不同点:

主动模式:服务端发起数据连接。客户端生成随机数据端口

被动模式:客户端发起数据连接。 客户端和服务端都是随机数据端口。

客户端与服务器的命令连接

服务器返回命令"PORT 2024",告诉客户端(服务器)用哪个端口侦听数据连接

客户端初始化一个从自己的数据端口到服务器端指定的数据端口的数据连接。最后服务器在第4 步中给客户端的数据端口返回一个"ACK"响应。

1.ftp连接服务度
ftp> ls
500 Illegal PORT command.

ftp: bind: Address already in use

然后解决如下

ftp> quote pasv
227 Entering Passive Mode (192,168,0,112,164,248).
ftp> passive
Passive mode on.

ftp> ls
227 Entering Passive Mode (192,168,0,112,169,241).

425 Security: Bad IP connecting.

这个原因是因为服务器本身设置了两个ip地址

解决办法是

vim /etc/vsftpd/vsftpd.conf
添加:pasv_promiscuous=YES

ftp> quote pasv
227 Entering Passive Mode (192,168,0,112,143,83).
ftp> passive
Passive mode on.
ftp> ls
227 Entering Passive Mode (192,168,0,112,85,218).
150 Here comes the directory listing.
drwx------ 2 1001 1001 4096 Mar 06 01:46 test

######################################

什么叫做PASV mode(被动模式传送)?他是如何工作的?
FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。

FTP服务程序一般会支持两种不同的模式:

一种是Port模式

一种是Passive模式(Pasv Mode),

主动模式和被动模式的的区别:
先假设客户端为C,服务端为S.

Port模式:

当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。

Pasv模式:

当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。

总结
从上可知两种模式主要的不同是数据连接建立的不同:

对于Port模式,是客户端C在本地打开一个端口等服务端S去连接建立数据连接;

而Pasv模式就是服务端S打开一个端口等待客户端C去建立一个数据连接。

我需要把传送模式设置成PASV mode吗?

如果您连接到INTERNET的方式如下图,你需要设置成为PASV mode模式传送

路由上有两个ip一个是内网ip(也就是你的网关地址)另外一个是外网IP,你所有LAN中的计算机都是共享这个218.63.1.5访问INTERNET的(中间通过了192.168.1.1这个网关),让我们来看一个连接的详细过程,以便您

更进一步了解为什么需要设置成为PASV mode 传送:

当您通过下载工具或使用浏览器下载影片的时候就开始连接FTP服务器, 当FTP服务收到你的连接请求后发送应答信息给客户并开始等待用户的认证信息,–>认证通过后开始建立数据连接如果你不是设置成为pasv模式,那 么客户段(下载工具)会在本地计算机开一个数据端口,然后发送一条“命令”给FTP服务段,(我已打开了n端口你现在可以连接我),那么FTP服务器段就 开始连接你ip地址的N端口,(但是连接是失败的) 因为你是通过192.168.1.1 这个网关(你的路由设备)访问internet的ftp服务段他实际上是同你的外网地址为218.63.1.5的路由设备连接,根本就连接不上你下载工具 中打开的端口,例如你使用的是 192.168.1.2 这个客户机,FTP服务段此时无法同你计算机192.168.1.2)监听端口N连接上,所以此时你会看到服务器反馈的错误信息,提示你 192.168.1.2打开的端口无法连接之类的, 信息此时你就需要把传送模式设置成为PASV模式,而如果你使用的是PASV模式那么当你ftp通过认证后,客户段首先向服务器发送一条PASV命令,服 务段接受到命令后打开一个端口并告诉客户段“我已打开了一个端口,你此时可以来连接了” 客户段(下载工具)接受到信息后,就去连接服务段已经打开了的端口,从而完成数据连接,所有ftp下载的数据流都将通过这个端口传送

而且在用iptables做NAT时,应该装载这两个模块(ip_nat_ftp、ip_conntrack_ftp),才能正常连到ftp服务器。否则pasv被动模式都无法连接到ftp服务器。

FTP模式与数据端口
  FTP 分为两类,PORT FTP和PASV FTP,PORT FTP是一般形式的FTP。这两种FTP在建立控制连接时操作是一样的,都是由客户端首先和FTP服务器的控制端口(默认值为21)建立控制链接,并通过 此链接进行传输操作指令。它们的区别在于使用数据传输端口(ftp- data)的方式。PORT FTP由FTP服务器指定数据传输所使用的端口,默认值为20。PASV FTP由FTP客户端决定数据传输的端口。 PASV FTP这种做法,主要是考虑到存在防火墙的环境下,由客户端与服务器进行沟通(客户端向服务器发出数据传输请求中包含了数据传输端口),决定两者之间的数 据传输端口更为方便一些。

port_enable=YES|NO

如果你要在数据连接时取消PORT模式时,设此选项为NO。默认值为YES。

connetc_from_port_20=YES|NO

控制以PORT模式进行数据传输时是否使用20端口(ftp-data)。YES使用,NO不使用。默认值为NO,但RHL自带的vsftpd.conf文件中此参数设为YES。

ftp_data_port=port number

设定ftp数据传输端口(ftp-data)值。默认值为20。此参数用于PORT FTP模式。

port_promiscuous=YES|NO

默认值为NO。为YES时,取消PORT安全检查。该检查确保外出的数据只能连接到客户端上。小心打开此选项。

pasv_enable=YES|NO

YES,允许数据传输时使用PASV模式。NO,不允许使用PASV模式。默认值为YES。

pasv_min_port=port number
  pasv_max_port=port number

设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高。

pasv_promiscuous=YES|NO

此选项激活时,将关闭PASV模式的安全检查。该检查确保数据连接和控制连接是来自同一个IP地址。小心打开此选项。此选项唯一合理的用法是存在于由安全隧道方案构成的组织中。默认值为NO。

pasv_address=

此选项为一个数字IP地址,作为PASV命令的响应。默认值为none,即地址是从呼入的连接套接字(incoming connectd socket)中获取。

所以如果linux打开了防火场,必须开通对应的端口 例如:

-A RH-Firewall-1-INPUT -m state –state NEW -p tcp -m tcp –dport 30000:31000 –syn -j ACCEPT

四、防火墙配置
#!/bin/bash

#ip.sh

echo “1″ >/proc/sys/net/ipv4/ip_forward

modprobe ip_conntrack_ftp

modprobe ip_nat_ftp

iptables -F

iptables -X

iptables -Z

iptables -t nat -F

iptables -t nat -X

iptables -t nat -Z

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP

iptables -t filter -A FORWARD -p tcp -s 172.16.0.0/16 -d 192.168.0.10 –dport 21 -j ACCEPT

iptables -t filter -A FORWARD -p tcp -s 192.168.0.10 –sport 21 -j ACCEPT

iptables -t filter -A FORWARD -p tcp -s 172.16.0.0/16 -d 192.168.0.10 –dport 30000:310000 -j ACCEPT

iptables -t filter -A FORWARD -p tcp -s 192.168.0.10 –sport 3000:4000 -j ACCEPT

iptables -t filter -A FORWARD -p tcp -m state –state RELATED,ESTABLISHED -j ACCEPT

iptables -t filter -A FORWARD -p icmp –icmp-type 8 -j ACCEPT

iptables -t filter -A FORWARD -p icmp –icmp-type 0 -j ACCEPT

五、验证:

在xp下用ftp命令连接,都是采用主动模式连接,可以采用图形界面的软件,默认一般为被动模式。

netstat -an|grep 172

Linux下VsFTP配置全方案
纲要:

一, VsFTPd的简述

二, 企业Linux下vsFTPD方案

三, VsFTPD相关配置文件详解

一,VsFTPd的简述:

VSFTP(Very Secure FTP Daemon,非常安全的FTP服务器)。顾名思义,VSFTPD设计的出发点就是安全性。同时随着版本的不断升级,VSFTPD在性能和稳定性上也取得 了极大的进展。除了安全和性能方面很优秀的外,还有很好的易用性。Red Hat公司在自己的FTP服务器(ftp.redhat.com)上就使用了vsFTPd

二,企业Linux下vsFTPD实战方案

要求:

  1.    用户:netseek_com;FTP:ftp.netseek.com(192.168.0.21,我已经配置好了相关的DNS)
    
  2.    禁止匿名登陆,禁止用户离开用户目录
    
  3.    命令通道端口使用5021,数据通道端口使用5020(你可以改成你想设置的端口如1021,1020)
    
  4.    允许使用被动模式使用端口范围为10010~10020.
    
  5.    用户带宽设置为200kps;用户空间大小限制为300M,允许宽限期限内有10MB的缓冲
    

具体操作步骤如下:

为了更完全的描述安装全过程,我在我的另一台主机(netseek)上进行配置,在台机IP:192.168.0.20上绑定了192.168.0.21,也配置好了相关的DNS解析,在这里我就不多说了请参照”Linux全能web服务器架设”。

1. 配置相关服务

启动服务:

[root@netseek root]# #rpm –qa | grep vsftpd ;查看是否安装vsftpd服务

#/etc/init.d/vsftpd start ;启动服务

#chkconfig vsftpd on ;让系统服务随着系统启动而启动

配置相关文档:

#vi /etc/vsftpd/vsftpd.conf

禁止匿名用户访问:

anonymous_enable=YES,将YES改为NO

在文件末尾加如下的设置:

new added by netseek

listen_port=5021 ;命令通道端口,默认为21

listen_data_port=5020 ;数据通道端口,默认为20

pasv_enable=YES ;允许被动模式

pasv_min_port=10000 ;被动模式使用端口范围

pasv_max_port=10010

local_max_rate=200000 ;用户宽带限制

chroot_local_user=YES ;禁用户离开主目录

listen_address=192.168.0.21 ;让他监听ip:192.168.0.21

注:在添加过程中请不要加上”;”和这些中文注释,在这里我上为了方便大家了解才加上的。

2. 添加虚拟主机用户

添加用户netseek_com,用户目录指定为/var/www/netseek.com,且此用户不能登陆系统.

#mkdir /var/www/netseek.com

#useradd –s /sbin/nologin –d /var/www/netseek.com netseek_com

注-s /sbin/nologin是让其不能登陆系统,-d 是指定用户目录为/var/www/netseek.com

#passwd netseek_com (Do not Hack me 3ks) DnHm3ks 这是我设置的密码

#chown –R netseek_com:netseek_com /var/www/netseek.com

注:将用户目录及其子目录的所有和所属的组设置为netseek_com

3. 配置磁盘配额

我在安装过程中磁盘了多个区,分别/home,/var,/,/www,tmp,swap,/boot多个分区。建议你将磁盘分多个独单的分区,这样可以降低磁盘分区损坏造成的数据丢失风险.

#[root@netseek root]# rpm -qa | grep quota

quota-3.06-9 ; 我的系统已经安装了磁盘配额工具

#vi /etc/fstab

找到类似

LABEL=/var /var ext3 defaults 1 2

在defaults后加入usrquota,改为如下:

LABEL=/var /var ext3 defaults,usrquota 1 2

重新加载/var这个分区:

#mount –o remount /var

#cd /var 进入这个目录

#touch quota.user

#chmod 600 quota.user

#quotacheck –mf /var 对磁盘分区空间使用情况进行强制检测

[root@localhost var]# quotacheck -mf /var

quotacheck: WARNING – Quotafile /var/quota.user was probably truncated. Can’t save quota settings…

重新启动系统

第一次运行时都会出现这个警告,再次运行的时候就不会啦

为指定用户定额:

#edquota netseek_com 为用户netseek_com设置磁盘配额。

Disk quotas for user netseek_com (uid 501):

Filesystem blocks soft hard inodes soft hard

/dev/sda5 6616 307200 0 15 0 0

注:

ilesystem blocks soft hard inodes soft hard

filesystem-正在设置的文件系统,不要修改或删除

bolock-当前使用的碰盘空间,单位为KB

soft(第一个)-软磁盘空间限制,默认0,表示无限制,我在这里设为300M。

hard(第一个)-硬配额限制,0表示无限制。

inodes-当前文件数量

soft(第二个)-对文件数量的软限制,0表示无限制

hard(第二个)-对文件数量的硬限制,0表示无限制

让系统启动是自动加载:

#vi /etc/rc.d/rc.local ,加入以下:

/etc/init.d/vsftpd start

/sbin/quotacheck

/sbin/quotaon –avu

现在查看netseek_com 用户使用磁盘空间的情况

[root@localhost ~]# quota -u netseek_com

Disk quotas for user netseek_com (uid 501):

 Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

  /dev/sda5    6616  307200       0              15       0       0

注:关于更多的quota命令,请用man命令查看吧,乌哥(VBird)说,我们要学会找男人 !

4. 效果演示,登陆演示:

四, VsFTPd相关的配置详解

1.匿名用户相关设置

anonymous_enable=YES ,将YES改为NO, 禁止匿名用户登陆

#non_mkdir_write_enable=YES ,将#注释去掉,允许匿名用户创建目录

#non_upload_enalbe=YES ,将#去掉,允许匿名用户上传

anon_world_readable_only=YES ,允许匿名用户下载,默认是禁止的,这个可以自行添加。

Anon_other_write_enable=YES ,将其设为YES的话,就除了上传和创建目录外,还可以重命名,删除文件,默认是NO

no_anon_password=NO ,将其设为YES,匿名用户不会查询用户密码直接登陆。

ftp_username=ftp ,匿名用户登陆系统的账号默认为ftp,此项最好不要改,否则设置不当会给系统的安全带来威胁。

2.FTP服务端口的指定

listen_port=8021 ,指定命令通道为8021,默认为21

listen_data_port=8020 ,指定数据通道为8020,默认为20

3.上传模式的设置

pasv_enable=YES ,是否允使用被动模式,默认是允许的。

pasv_min_port=10000 ,指定使用被动模式时打开端口的最小值

pasv_max_port=10004 ,指定使用被动模式时打开端口的最大值。

4.Vsftp服务器指定IP地址

listen_address=192.168.0.21 ,指定FTP,IP地址

注:只有当vsftp运行于独立模式时才允许使用指定IP,如果在/etc/xinetd.d目录下已经建立了vsfpd文件,就要将该文件中的disable设置为yes,方可。

  1. 锁定用户,禁止用户离开用户主目录

chroot_local_user=YES ,将其设为YES,就锁定在用户主目录,设为NO,可以切换

将指定用户设置为锁定用户主目录:

#chroot_list_enable=YES

#chroot_list_file=/etc/vsftpd.chroot_list

将其改为如下:

chroot_list_enable=NO

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

将上面保存,再做如下操作:

#touch /etc/vsftpd/vsftpd.chroot_list

#vi /etc/vsftpd/vsftpd.chroot_list ,在该文件中加入用户名单,如:

netseek_com

6.FTP服务器的流量控制

max_clients=100 ;允许的最大连接数,定义为100,默认为0,表没有限制

max_per_ip=5 ;每个IP允许的连接数,0表没有限制,需要运行于独立模式方可

anon_max_rate=50000 ;匿名用户最大带宽,单位为bps

local_max_rate=200000 ;系统用户最大带宽

如何对指定用户进行流量限制呢?

#vi /etc/vsftpd/vsftpd.conf,添加一行:

user_config_dir=/etc/vsftpd/userconf

#touch /etc/vsftpd/userconf/netseek_com 为netseek_com这个用户建立一个netseek_com文件

#vi /etc/vsftpd/userconf/netseek_com 添加以下内容

local_max_rate=100000

保存重启服务即可.

7.定制欢迎信息

目录说明设置

#vi /etc/vsftpd/vsftpd.conf

#dirmessage_enable=YES,前的#去掉。

然后我们定制一个.message,写上你想写的东西,然后把这个文件复制到各个用户的家目录中,就OK。

系统欢迎消息设置

ftpd_banner=Welcome to ftp.netseek.com , Yeah!!!

系统欢迎消息文件设置

banner_file=/etc/vsftpd/welcome 与ftpd_banner相类似,不同之处在于,banner_file指定欢迎文件.

在这里插入图片描述

报错:

Could not retrieve directory listing
Permission denied.

修改配置文件

在这里插入图片描述

报错:

Connection failed.
OOPS: vsftpd: refusing to run with writable root inside chroot()

从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。 要修复这个错误,可以用命令chmod a-w /var/ftp/去除用户主目录的写权限

chmod a-w ftp家目录

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ftp的主动模式active mode和被动模式 passive mode的配置和区别 的相关文章

  • 从 Azure VM 打开活动 FTP 连接

    我正在尝试通过 Azure VM 的活动连接连接到远程 FTP 服务器 我收到的错误是 非法 PORT 命令 我使用被动连接连接到其他 FTP 站点没有问题 但此 FTP 服务器仅支持主动连接 我的问题基本上与这个问题 https serv
  • 如何编写FTP上传和下载脚本

    我正在尝试制作一个批处理文件来将文件上传到 FTP 服务器 如果我手动输入它 它可以正常工作 但是当我运行批处理文件时 它会在连接后停止 它说 connected to domain com 220 microsoft ftp server
  • 从 FTP 下载文件以及如何提示用户在 ASP.NET C# 中保存/打开文件

    我想从 FTP 下载文件 并在用户单击 ASP NET C 页面上的下载按钮时在用户的 Web 浏览器中打开下载 保存提示 string strDownloadURL System Configuration ConfigurationSe
  • apache-commons ftp 检索多个文件

    我正在尝试使用 apache commons net FTP lib 从 FTP 服务器获取数据 如果目录中只有 1 个文件 该代码可以正常工作 但在我第二次调用retrieveFileStream 时始终返回 null 有什么想法吗 我编
  • FTP 与自动数据交换应用程序一起使用是否可靠?

    我被要求设计一个批处理应用程序 该应用程序将定期从外部供应商检索数据 特别是详细的交易列表 我们已同意使用 XML 进行数据交换 但我们正在研究不同的方法 协议以促进实际的数据传输 供应商建议使用电子邮件或 FTP 作为传输数据的方式 但出
  • 让 FTP 在 Azure VM 上运行,克服 ftp 客户端上的“连接关闭”问题

    我正在努力连接到 Azure 中新 VM 上的 FTP 我从默认映像 Windows Server 2012 Datacenter 创建了一个新的虚拟机 并通过 RDP 连接到新的虚拟机中 然后 我启用了 Web 服务器 IIS 角色 包括
  • 警告:ftp_get():删除操作成功

    我有一些从我们的开发服务器传输备份的代码 它似乎随机表现得非常奇怪 并给出以下错误 输出 Warning ftp get Delete operation successful in root cron get dev archives p
  • 如何在 C# 中将字符串数据作为 ZIP 存档上传到 FTP 服务器

    这是我的代码 我想导出 上传这个 dat文件以 zip 格式传输到 FTP 服务器 我尝试了很多但没有找到任何解决方案 任何人都可以帮助我解决这个问题 public string ExportVoid FileSetups fileSetu
  • 紧凑框架 - OpenNetCf.Net FTP 示例?

    我正在尝试让 OpenNetCF Net FTP 组件与我的 PDA 应用程序一起工作 除了连接到服务器之外 我正在努力让它做更多的事情 并且想知道是否有人知道我可以用来学习如何使用它的任何示例代码 我需要能够下载和上传文件 以及确定我想要
  • FTP 对 PASV 命令的响应应该是什么

    我正在编写一个 FTP 服务器 但我不理解 PASV 命令 任何服务器都会发送如下响应 227 Entering Passive Mode 213 229 112 130 216 4 括号里的数字是什么意思 普通模式和被动模式有什么区别 是
  • Python ftplib 损坏文件?

    我正在使用 ftplib 在 Python 中下载文件 直到最近一切似乎都工作正常 我正在下载这样的文件 ftpSession ftplib FTP host username password ftpSession cwd rlmfile
  • Java:从 FTP 服务器访问文件

    我有一个 FTP 服务器 里面有一堆文件夹和文件 我的程序需要访问该服务器 读取所有文件并显示它们的数据 出于开发目的 我一直在使用硬盘驱动器上 src 文件夹中的文件 但现在服务器已启动并运行 我需要将软件连接到它 基本上我想要做的是获取
  • Twisted、FTP 和“流式传输”大文件

    我正在尝试实现最能描述为 HTTP API 的 FTP 接口 的内容 本质上 有一个现有的 REST API 可用于管理站点的用户文件 并且我正在构建一个中介服务器 将该 API 重新公开为 FTP 服务器 因此 您可以使用 Filezil
  • FTPWebRequest .NET 3.5 与 4

    我有一个应用程序可以与 IBM 大型机建立 FTP 连接 并且一切都工作正常 然后 我针对 NET 4 重新编译 主机不再接受该文件 并给出一条错误消息 指出该文件不存在 或者我没有该文件的权限 这是我用来发送文件的 Ftp FtpWebR
  • 使用PHP通过FTP递归扫描目录和子目录

    我正在尝试创建目录中所有文件 及其大小 的列表 包括子目录中的所有内容 这些文件位于远程服务器上 所以我的脚本通过 FTP 连接 然后使用以下命令运行递归函数ftp chdir浏览每个目录 如果有其他方法可以做到这一点 我愿意接受建议 fl
  • php ftp 检查文件夹是否存在总是返回创建文件夹错误

    有人可以告诉我这段代码中做错了什么吗 if id if is dir public html tem pasta path pics id echo pasta j existia destination file public html
  • 仅在 Azure Web 应用程序中从 FTP 下载文件失败

    我有一个非常基本的代码 可以从 FTP 服务器下载文本文件列表 foreach var fileUri in files try var ftpRequest FtpWebRequest FtpWebRequest Create fileU
  • Magento Connect Manager 和 ftp 写入文件权限

    将我的网站从开发域转移到实时域后 我尝试使用 magento 连接管理器安装扩展 但是我不断收到 CONNECT ERROR Please check for sufficient ftp write file permissions Yo
  • 当没有文件可供下载时,如何避免 SSIS FTP 任务失败?

    我正在使用 SQL Server 2005 并在 SSIS 中创建 ftp 任务 有时会有文件需要通过 ftp 传输 有时则不会 如果没有文件 我不希望任务或包失败 我已将从 ftp 任务到下一个任务的箭头更改为 完成 以便包运行 我已将允
  • PHP + FTP删除文件夹中的文件

    我刚刚编写了一个 PHP 脚本 它应该连接到 FTP 并删除特殊文件夹中的所有文件 它看起来像这样 但我不知道需要什么命令来删除文件夹日志中的所有文件 任何想法

随机推荐

  • Java实现图片上传返回上传地址

    关于在实际开发中最常用也是用的最多的Java实现文档 图片上传 一 准备阶段 文档 图片上传有几种方式 包括传统的ajax上传 云上传 这里给大家实现通过代码将图片上传至七牛云服务器并返回图片地址 1 需申请一台七牛云服务器地址 可免费试用
  • js删除数组里的某个元素

    删除数组中的某个元素 首先需要确定需要删除元素的索引值 var arr 1 5 6 12 453 324 function indexOf val for var i 0 i lt arr length i if arr i val ret
  • 请修改考试服务器名称,考试服务器ip数据库地址

    考试服务器ip数据库地址 内容精选 换一换 安全组是一个逻辑上的分组 为同一个虚拟私有云内具有相同安全保护需求 并相互信任的弹性云服务器和云数据库RDS实例提供访问策略 为了保障数据库的安全性和稳定性 在使用云数据库RDS实例之前 您需要设
  • Flink on Zeppelin-2

    Flink Interpreter类型 首先介绍下Zeppelin中的Flink Interpreter类型 Zeppelin的Flink Interpreter支持Flink的所有API DataSet DataStream Table
  • SQL plus简单使用

    查看Oracle数据库全部数据库 数据库名称 SELECT name FROM v database 这将返回所有数据库的名称 视图 通过SQL查询dba registry视图 另一个查看数据库的方法是查询dba registry视图 该视
  • 软件工程毕业设计题目100例

    文章目录 0 简介 1 如何选题 2 最新软件工程毕设选题 3 最后 0 简介 学长搜集分享最新的软件工程业专业毕设选题 难度适中 适合作为毕业设计 大家参考 学长整理的题目标准 相对容易 工作量达标 题目新颖 1 如何选题 最近非常多的学
  • 练手Demo(一)

    配置文件 spring redis host localhost username root password port 6379 datasource url jdbc mysql localhost 3306 base admin Un
  • 泛微OA项目引入jar包说明

    项目引入的jar包说明 WEB INF lib 依赖 存在dom4j 以及httpclient jar包 Resin lib 存在的是resin组件本身自带的依赖 ecology classbean 开发java类编译存放目录 系统目前已有
  • Java基础——strictfp关键字

    关键字strictfp是strict float point的缩写 指的是精确浮点 它是用来确保浮点数运算的准确性 JVM在执行浮点数运算时 如果没有指定strictfp关键字 此时计算结果可能会不精确 而且计算结果在不同平台或厂商的虚拟机
  • Windows 开机启动脚本 (不询问自动以管理员权限运行bat)

    方式一 系统级开机自启 不用登陆 获取开机启动文件夹 使用环境变量 ProgramData 或者 SYSTEMDRIVE echo SYSTEMDRIVE ProgramData Microsoft Windows Start Menu P
  • 对象的知识点补充

    认识对象 对象 object 是 键值对 的集合 表示属性和值的映射关系 JS中 大括号表示对象 var xiaoming 属性名 键名 key name 小明 age 12 sex 男 hobbies 足球 编程 对象的语法 k和v之间用
  • 进程间通信的方式总结(特点,以及code demo)

    进程间通信 IPC InterProcess Communication 是指在不同进程之间传播或交换信息 一 简单的进程间通信 命令行 父进程通过exec函数创建子进程时可以附加一些数据 环境变量 父进程通过exec函数创建子进程顺便传递
  • MOS管之增强型和耗尽型

    Depletion and enhancement modes In field effect transistors FETs depletion mode and enhancement mode are two major trans
  • 通过路由器端口映射实现外网IP访问内网服务器

    1 确认路由器的公网IP是不是真的公网IP 特别重要 如果不是可以不用看后面的了 通过www ip138 com网站可以查询当前网络的公网IP 再进入路由器控制界面查看wan口IP和公网IP是否相同 如果不同 大概率是私网IP 服务商在公网
  • cookie格式化

    字符串转成字典 使用场景 selenium尝试试用cookie登陆时 Network中cookie是一段字符串 需要转成字典使用 使用split和列表解析式 str thor 8954F43 Id d32def3ffSNw pn adsad
  • 数据结构---二叉查找树(二叉搜索树)

    二叉查找树 特性 插入 删除 待删除节点没有子节点 待删除节点有一个子节点 待删除节点有两个子节点 JAVA实现 缺陷 二叉查找树 二叉排序树 在二叉树的基础上 增加了 如果左子树不为空 则左子树上所有节点的值都小于根节点的值 如果右子树不
  • B站粉丝数显示器,播放数、获赞数失效解决。

    之前在B站看见很多人做B站粉丝数显示器 于是便在网上买了一块ESP8266的开发版回来尝试着折腾一个出来 便在网上搜索适合买回来的开发板和0 96 oled显示器的代码 显示部分的主要代码是在 果果小师弟的博客上找到的 然后自己又找了个可以
  • WORD中字号没有中文编号的解决办法

    今天一同事反映说 WORD中没有像 五号 四号 之类的字号 只有数字字号如 8 72 解决过程如下 一 删除office中normal dot模版文件 不行 二 开始 gt 程序 gt Microsoft Office 工具 gt Mics
  • 参数与超参数

    写在前面 关于训练深度学习模型最难的事情之一是你要处理的参数的数量 无论是从网络本身的层宽 宽度 层数 深度 连接方式 还是损失函数的超参数设计和调试 亦或者是学习率 批样本数量 优化器参数等等 这些大量的参数都会有网络模型最终的有效容限直
  • ftp的主动模式active mode和被动模式 passive mode的配置和区别

    共同点 客户端先发起命令连接 不同点 主动模式 服务端发起数据连接 客户端生成随机数据端口 被动模式 客户端发起数据连接 客户端和服务端都是随机数据端口 客户端与服务器的命令连接 服务器返回命令 PORT 2024 告诉客户端 服务器 用哪