-
2018-11-22 12:46:44
文章目录
一、解析函数的概念
学习目标
- 会用求导定义公式求导
- 函数在一点解析的定义
- 函数在区域解析的定义
- 函数可导与解析的关系(一点与区域)
- 会判别函数的解析性
- 奇数的定义以及与不可导点的关系
- 会求函数的奇点
1、复变函数的导数
定义: 设函数 w = f ( z ) w=f(z) w=f(z) 定义与区域 D D D. z 0 z_0 z0 为 D D D 中的一点,点 z 0 + Δ z z_0+\Delta z z0+Δz 不出 D D D 的范围. 如果极限 lim Δ z → 0 f ( z 0 + Δ z ) − f ( z 0 ) Δ z \lim_{\Delta z \to 0} \frac{f(z_0+\Delta z)-f(z_0)}{ \Delta z} Δz→0limΔzf(z0+Δz)−f(z0)存在,那么就说 f ( z ) f(z) f(z) 在 z 0 z_0 z0 可导. 这个极限值称为 f ( z ) f(z) f(z) 在 z 0 z_0 z0 的
导数
,记作 f ′ ( z 0 ) = d w d z ∣ z = z 0 = lim Δ z → 0 f ( z 0 + Δ z ) − f ( z 0 ) Δ z f^{'}(z_0)=\frac{dw}{dz}|_{z=z_0}=\lim_{\Delta z \to 0} \frac{f(z_0+\Delta z)-f(z_0)}{ \Delta z} f′(z0)=dzdw∣z=z0=Δz→0limΔzf(z0+Δz)−f(z0)
应当注意:定义中 Δ z → 0 \Delta z\rightarrow 0 Δz→0 的方式是任意的,对任意方向都要存在2、解析函数的概念
在复变函数理论中,重要的不是只在个别点可导的函数,而是所谓解析函数.
定义:如果函数 f ( z ) f(z) f(z) 在 z 0 z_0 z0 及 z 0 z_0 z0 的领域内处处可导,那么称 f ( z ) f(z) f(z) 在 z 0 z_0 z0 解析. 如果 f ( z ) f(z) f(z) 在区域 D D D 内每一点解析,那么称 f ( z ) f(z) f(z) 在 D D D 内解析,或称 f ( z ) f(z) f(z) 是 D D D 内的一个解析函数
.
如果 f ( z ) f(z) f(z) 在 z 0 z_0 z0 不解析,那么称 z 0 z_0 z0 为 f ( z ) f(z) f(z) 的奇点
.
由定义可知,函数在区域内解析与在区域内可导是等价的. 但是,函数在一点处解析和在一点处可导是两个不等价的概念. 就是说,函数在一点处可导,不一定在该点处解析. 函数在一点处解析比在该点处可导的要求要高的多.
例题:研究函数 w = 1 z w=\frac{1}{z} w=z1 的解析性
解 解 解:
因为 w w w 在复平面内除点 z = 0 z=0 z=0 外处处可导,且 d w d z = − 1 z 2 \frac{dw}{dz}=-\frac{1}{z^2} dzdw=−z21所以在除 z = 0 z=0 z=0 外的复平面内,函数 w = 1 z w=\frac{1}{z} w=z1 处处解析,而 z = 0 z=0 z=0 是它的奇点.
根据求导法则,不难证明:
定理
1 ) 1) 1)在区域 D D D 内解析的两个函数 f ( z ) f(z) f(z) 与 g ( z ) g(z) g(z) 的和、差、积、商(分母不为零)在 D D D 内解析.
2 ) 2) 2)设函数 h = g ( z ) h=g(z) h=g(z) 在 z z z 平面上的区域 D D D 内解析,函数 w = f ( h ) w=f(h) w=f(h) 在 h h h 平面内的区域 G G G 内解析. 如果对 D D D 内的每一点 z z z,函数 g ( z ) g(z) g(z) 的对应值 h h h 都属于 G G G,那么复合函数 w = f [ g ( z ) ] w=f[g(z)] w=f[g(z)] 在 D D D 内解析.
从这个定理可以推知,所有多项式在复平面内是处处解析的,任何一个有理分式函数 P ( z ) Q ( z ) \frac{P(z)}{Q(z)} Q(z)P(z) 在不含分母为零的点的区域内是解析函数,使分母为零的点是它的奇点.二、解析函数的充要条件
学习目标
- 会 C − R C-R C−R 条件判别函数的可导性与解析性
- 掌握求导公式
1、可导充要性
定理一:设函数 f ( z ) = u ( x , y ) + i v ( x , y ) f(z)=u(x,y)+iv(x,y) f(z)=u(x,y)+iv(x,y) 定义在区域 D D D 内,则 f ( z ) f(z) f(z) 在 D D D 内一点 z = x + i y z=x+iy z=x+iy 可导的充要条件是: u ( x , y ) u(x,y) u(x,y) 与 v ( x , y ) v(x,y) v(x,y) 在点 ( x , y ) (x,y) (x,y) 可微,并且在该点满足柯西-黎曼 ( C − R ) (C-R) (C−R)方程 ∂ u ∂ x = ∂ v ∂ y , ∂ u ∂ y = − ∂ v ∂ x \frac{\partial u}{\partial x}=\frac{\partial v}{\partial y},\frac{\partial u}{\partial y}=-\frac{\partial v}{\partial x} ∂x∂u=∂y∂v,∂y∂u=−∂x∂v
可以得到函数 f ( z ) = u ( x , y ) + i v ( x , y ) f(z)=u(x,y)+iv(x,y) f(z)=u(x,y)+iv(x,y) 在点 z = x + i y z=x+iy z=x+iy 处的导数公式: f ′ ( z ) = ∂ u ∂ x + i ∂ v ∂ x f^{'}(z)=\frac{\partial u}{\partial x}+i\frac{\partial v}{\partial x} f′(z)=∂x∂u+i∂x∂v2、解析充要性
定理二:函数 f ( z ) = u ( x , y ) + i v ( x , y ) f(z)=u(x,y)+iv(x,y) f(z)=u(x,y)+iv(x,y) 在其定义域 D D D 内解析的充要条件是: u ( x , y ) u(x,y) u(x,y) 与 v ( x , y ) v(x,y) v(x,y) 在 D D D 内可微,并且满足柯西-黎曼方程
∂ u ∂ x = ∂ v ∂ y , ∂ u ∂ y = − ∂ v ∂ x \frac{\partial u}{\partial x}=\frac{\partial v}{\partial y},\frac{\partial u}{\partial y}=-\frac{\partial v}{\partial x} ∂x∂u=∂y∂v,∂y∂u=−∂x∂v例题:判定函数 w = z R e ( z ) w=zRe(z) w=zRe(z) 在何处可导,在何处解析:
由 w = z R e ( z ) = x 2 + i x y w=zRe(z)=x^2+ixy w=zRe(z)=x2+ixy,得 u = x 2 , v = x y u=x^2,v=xy u=x2,v=xy,所以 ∂ u ∂ x = 2 x , ∂ u ∂ y = 0 \frac{\partial u}{\partial x}=2x,\frac{\partial u}{\partial y}=0 ∂x∂u=2x,∂y∂u=0 ∂ v ∂ x = y , ∂ v ∂ y = x . \frac{\partial v}{\partial x}=y,\frac{\partial v}{\partial y}=x. ∂x∂v=y,∂y∂v=x.容易看出,这四个偏导数处处连续,但是仅当 x = y = 0 x=y=0 x=y=0 时,它们才满足柯西-黎曼方程,因而函数仅在 z = 0 z=0 z=0 可导,但在复平面内任何地方都不解析.三、初等函数
学习目标
- 指数函数(定义,周期性,解析性)
- 对数函数(定义,解析性,性质)
- 幂函数(定义,解析性)
- 三角函数(正弦函数与余弦函数的定义,解析性,周期性,非有界性)
1、指数函数
复变数 z z z 的
指数函数
满足下列三个条件:
1 ) 1) 1) f ( z ) f(z) f(z)在复平面内处处解析;
2 ) 2) 2) f ′ ( z ) = f ( z ) f^{'}(z)=f(z) f′(z)=f(z);
3 ) 3) 3)当 I m ( z ) = 0 Im(z)=0 Im(z)=0 时, f ( z ) = e x f(z)=e^x f(z)=ex,其中 x = R e ( z ) x=Re(z) x=Re(z).
记作 e x p ( z ) = e z = e x ( c o s y + i s i n y ) exp(z)=e^z=e^x(cosy+isiny) exp(z)=ez=ex(cosy+isiny)
满足加法定理
: e z 1 ⋅ e z 2 = e z 1 + z 2 e^{z_1}·e^{z_2}=e^{z_1+z_2} ez1⋅ez2=ez1+z2
由加法定理:我们可以推出 e x p ( z ) exp(z) exp(z) 的周期性
,他的周期是 2 k π i 2k\pi i 2kπi,即 e π + 2 k π i = e z ⋅ e 2 k π i = e z e^{\pi+2k\pi i}=e^z·e^{2k\pi i}=e^z eπ+2kπi=ez⋅e2kπi=ez
其中 k k k 为任何整数,这个性质是实变指数函数 e z e^z ez 所没有的.2、对数函数
对数函数
w = f ( z ) w=f(z) w=f(z) 为多值函数
,并且每两个值相差 2 π i 2\pi i 2πi 得整数倍,记作 L n z = l n ∣ z ∣ + i A r g z . Lnz=ln|z|+iArgz. Lnz=ln∣z∣+iArgz.如果规定上式中的 A r g z Argz Argz 取主值 a r g z argz argz ,那么 L n z Lnz Lnz 为一单值函数,记作 l n z lnz lnz ,称为 L n z Lnz Lnz 的主值
. 这样,我们就有 l n z = l n ∣ z ∣ + i a r g z lnz=ln|z|+iargz lnz=ln∣z∣+iargz而其余各个值可由 L n z = l n z + 2 k π i Lnz=lnz+2k\pi i Lnz=lnz+2kπi表示. 其中 k = ± 1 , ± 2 , ⋅ ⋅ ⋅ k=\pm1,\pm2,··· k=±1,±2,⋅⋅⋅
即 L n z = l n ∣ z ∣ + i a r g z + 2 k π i Lnz=ln|z|+iargz+2k\pi i Lnz=ln∣z∣+iargz+2kπi
基本性质:
L n ( z 1 z 2 ) = L n z 1 − L n z 2 Ln(z_1z_2)=Lnz_1-Lnz_2 Ln(z1z2)=Lnz1−Lnz2 L n z 1 z 2 = L n z 1 − L n z 2 Ln\frac{z_1}{z_2}=Lnz_1-Lnz_2 Lnz2z1=Lnz1−Lnz2但是: l n ( z 1 z 2 ) ≠ l n z 1 + l n z 2 ln(z_1z_2)\neq lnz_1+lnz_2 ln(z1z2)̸=lnz1+lnz2 l n z 1 z 2 ≠ l n z 1 − l n z 2 ln\frac{z_1}{z_2}\neq lnz_1-lnz_2 lnz2z1̸=lnz1−lnz2 L n z n ≠ n L n z ( n > 1 ) Lnz^n\neq nLnz(n>1) Lnzn̸=nLnz(n>1) L n z n ≠ 1 n L n z ( n > 1 ) Ln\sqrt[n]{z}\neq \frac{1}{n}Lnz(n>1) Lnnz̸=n1Lnz(n>1) i A r g z + i A r g z ⎵ 2 a r g z + 2 ( k 1 + k 2 ) π ≠ 2 i A r g z ⎵ 2 ( a r g z + 2 k π ) \underbrace{iArgz+iArgz}_{2argz+2(k_1+k_2)\pi} \neq \underbrace{ 2iArgz}_{2(argz+2k\pi)} 2argz+2(k1+k2)π iArgz+iArgz̸=2(argz+2kπ) 2iArgz
解析性
在除去原点和负实轴的 z z z 平面处处解析3、幂函数
定义: a b = e b L n a a^b=e^{bLna} ab=ebLna
多值性:由于 L n a Lna Lna 是多值的,因而 a b a^b ab 也是多值的
解析性:在除去原点和负实轴的复平面内 z b z^b zb 处处解析,且 ( z b ) ′ = b z b − 1 (z^b)^{'}=bz^{b-1} (zb)′=bzb−14、三角函数
定义:由 e i y = c o s y + i s i n y e^{iy}=cosy+isiny eiy=cosy+isiny e − i y = c o s y − i s i n y e^{-iy}=cosy-isiny e−iy=cosy−isiny把这两式相加与相减,分别得到 c o s y = e i y + e − i y 2 , s i n y = e i y − e − i y 2 i cosy=\frac{e^{iy}+e^{-iy}}{2},siny=\frac{e^{iy}-e^{-iy}}{2i} cosy=2eiy+e−iy,siny=2ieiy−e−iy现在把余弦和正弦函数的定义推广到自变数取复值得情形,我们定义: c o s z = e i z + e − i z 2 , s i n z = e i z − e − i z 2 i cosz=\frac{e^{iz}+e^{-iz}}{2},sinz=\frac{e^{iz}-e^{-iz}}{2i} cosz=2eiz+e−iz,sinz=2ieiz−e−iz
周期性:余弦函数和正弦函数都是以 2 π 2\pi 2π 为周期得周期函数.
解析性:都是复平面内的解析函数
非有界性:与实函数完全不同的是 s i n z , c o s z sinz,cosz sinz,cosz 无界,当 y → ∞ 时 , ∣ s i n i y ∣ → ∞ , ∣ c o s i y ∣ → ∞ y\rightarrow\infty时,|siniy|\rightarrow\infty,|cosiy|\rightarrow\infty y→∞时,∣siniy∣→∞,∣cosiy∣→∞.更多相关内容 -
解析so文件
2015-10-22 18:47:56解析so文件的工具类,很实用的一个工具类。 -
AVI解析工具,视频解析工具
2014-06-26 19:03:02不错的AVI文件解析具,视频解析工具,亲测可用. -
DNS域名解析服务正向解析和反向解析
2020-12-15 15:34:42文章目录一、DNS系统1、DNS的作用2、DNS概述3、DNS的定义4、域名结构:二、DNS域名解析方式:三、DNS服务器类型四、构建DNS域名正反向解析服务器步骤1、安装bind软件包2、配置正向解析3、反向解析 一、DNS系统 1、...文章目录
一、DNS系统
1、DNS的作用
正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名
DNS系统的分布式数据结构2、DNS概述
在日常生活中人们习惯使用域名访问服务器,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个Ip地址不一定只对应一个域名,且一个域名只可以对应一个Ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。
3、DNS的定义
DNS是”域名系统(Domain Name System)"的英文缩写。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS
每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。4、域名结构:
http://www.sina.com.cn./
http://主机名.二级域.顶级域根域/树状结构最顶层称为根域,用 “.” 表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派"机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器,如将com域的解析权委派给com域服务器,以后但凡根服务器收到以com结尾的域名解析请求,都会转发给com域服务器,同样道理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机等。
(1)根域
位于域名空间最顶层,一般用一个 “.” 表示
(2)顶级域
一般代表一种类型的组织机构或国家地区,
如:.net (网络供应商)、.com(工商企业)、.org(团体组织)、 .edu(教育机构)、.gov(政府部门)、.cn(中国国家域名)
(3)二级域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com .cn .net .cn .edu .cn
(4)子域
二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
(5)主机
主机位于域名空间最下层,就是一台具体的计算机
如:www、mail 都是具体的计算机名字,可用www.sina.com.cn. 、mail.sina.com.cn. 来表示,这种表示方式称为FQDN(完全合格域名),也是这台主机在域名中的全名。二、DNS域名解析方式:
1、正向解析:根据域名查找对应的IP地址
2、反向解析:根据IP地址查找对应的域名三、DNS服务器类型
1、主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
2、从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
3、缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
4、转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。四、构建DNS域名正反向解析服务器步骤
1、安装bind软件包
yum install -y bind
2、配置正向解析
(1)先查看需要修改的配置文件所在路径
rpm -qc bind #查询bind软件配置文件所在路径
/etc/named.conf #主配置文件
/etc/named.rfc1912.zones #区域配置文件
/var/named/named.localhost #区域数据配置文件(模板文件,不可直接在原文件进行更改)
(2)修改主配置文件
vim /etc/named.conf
options {
isten-on port 53 { 192.168.226.3; }; #监听53端口, Ip地址(DNS服务器的IP))使用提供服务的本地IP,也可用any表示所有
listen-on-v6 port 53 {::1; }; #ipv6行如不使用可以注释掉或者删除
directory “/var/named”; #/var/named 是区域数据文件的默认存放位置
dump-file “/var/named/data/cache_dump.db”; #域名缓存数据库文件的位置
statistics-file “/var/named/data/named_stats.txt”; #状态统计文件的位置
memstatistics-file “/var/named/data/named_mem_stats.txt”; #内存统计文件的位置
allow-query { any; }; #允许使用本DNS解析服务的网段,也可用any,代表所有网段都可访问
…
}
zone “.” IN { #正向解析"."根区域
type hint; #类型为根区域
file “named.ca”; #区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
};
include “/etc/named.rfc1912.zones”; #包含区域配置文件里的所有配置
(3)修改区域配置文件,添加正向区域配置
vim /etc/named.rfc1912. zones #在文件里有模版,可复制粘贴后修改
zone “gengcc.com” IN { #正向解析"gengcc.com"区域
type master; #类型为主区域
file “gegncc.com.zone”; #指定区域数据文件为gengcc.com.zone
allow-update { none; };
};
(4)配置正向区域数据文件
cd /var/named/
cp -p named.localhost gengcc.com.zone #需要保留源文件的权限和属主的属性复制(-p)
vim /var/named/gengcc.com.zone
$TTL 1D #设置缓存解析结果的有效时间
@ IN SOA gengcc.com. admin.gengcc.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS gengcc.com. #记录当前区域的DNS服务器的名称(必不可少)
А 192.168.226.3 #记录主机IP地址(必不可少)
IN MX 10 mail.gengcc.com. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.226.3 #记录正向解析www.benet.com对应的IP
mail IN A 192.168.226.4 #邮箱的正向解析地址
ftp IN CNAME www #CNAME使用别名, ftp是www的别名- IN A 192.168.226.100 #泛域名解析, “*” 代表任意主机名
#"@"这里是一个变量,当前DNS区域名
#SOA标记用于同步主从服务器的区域数据,如更新序列号相同则不会更新
#“benet.com.” 此为完全合格域名(FQDN) ,后面有个 “.” 不能漏掉
#“admin.benet.com.” 表示管理员邮箱,这里的 “@” 是变量,所以用 “.” 代替
(5)启动服务,关闭防火墙
systemctl start named
systemctl stop firewalld
setenforce 0
#如果服务启动失败,可以查看日志文件来排查错误
tail -f /var/log/messages
#如果服务启动卡住,可以执行下面命令解决
rndc-confgen -r /dev/urandom -a
(6)在客户端的域名解析配置文件中添加DNS服务器地址
vim /etc/resolv.conf #修改完后立即生效
nameserver 192.168.80.10
或
vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改完后需要重启网卡
DNS1=192.168.80.10
systemctl restart network
(7)测试DNS解析
host www.benet.com
nslookup www.benet.com
#用来通过域名获取IP 地址
3、反向解析
(1)修改区域配置文件,添加反向区域配置
vim /etc/named.rfc1912.zone #文件里有模版,可复制粘贴后修改
zone “80.168.192.in-addr.arpa” IN { #反向解析的地址倒过来写,代表解析192.168.80段的地址
type master;
file “benet.com.zone.local”; #指定区域数据文件为benet.com. zone.local
allow-update ( none; );
};
(2)配置反向区域数据文件
cd /var/named/
cp -p named.localhost benet.com. zone.local
vim /var/named/benet.com. zone. local
$TTL 1D
@ IN SOA benet.com. admin.benet.com. ( #这里的“@"代表192.168.80段地址
…
NS benet.com.
А 192.168.80.10
10 IN PTR www.benet.com.
11 IN PTR mail.benet.com.
#PTR为反向指针,反向解析192.168.80.200地址结果为www.nemet.com.
(3)重启服务进行测试
systemctl restart named
host 192.168.80.200
nslookup 192.168.80.200 -
json-handle谷歌浏览器json数据解析工具
2014-10-24 08:26:23json-handle谷歌浏览器json数据解析工具,装了此插件,在访问json数据时,自动解析成清晰的json格式.不用再为json而看得头晕眼花.此插件的使用:打开谷歌浏览器,到设置里面的拓展程序,然后勾选最上面的开发者模式,最后... -
C++ 实现的HTTP协议打包解析器
2014-04-18 14:45:45这个库不依赖别的库,不需要捆绑庞大的网络框架,它就实现一个朴素的需求:对http报文进行解析和打包。 公司是一家上市网络公司,这个小库使用了2年了,还是比较好用。 有问题或者改进意见可以联系我。 -
PDF.js 解析PDF文件demo
2013-09-05 10:11:24pdf.js 解析PDF文件DEMO 下载这个DEMO 轻松搞定在线解析PDF文件 支持翻页浏览 pdf.js 是一个技术原型主要用于在 HTML5 平台上展示 PDF 文档,无需任何本地技术支持 注意:只兼容支持HTML5的浏览器 -
深入理解OpenCV:实用计算机视觉项目解析-源代码.zip
2015-05-31 19:08:20深入理解OpenCV:实用计算机视觉项目解析-源代码.zip 资源是从华章出版社官网下载的 受上传文件大小限制 2个文件下载完成后解压即可 -
什么是DNS的正向解析与反向解析?代码实现?
2021-09-29 22:44:45DNS服务器用于存储资源记录并提供名称查询服务,DNS客户端也称解析程序,用来插叙服务器并获取名称解析信息。 正向解析与反向解析 按照DNS查询目的,可将DNS解析分为以下两种类型。 正向解析 根据计算机的DNS名称...DNS采用C/S机制。实现域名与IP地址转换。DNS服务器用于存储资源记录并提供名称查询服务,DNS客户端也称解析程序,用来插叙服务器并获取名称解析信息。
正向解析与反向解析
按照DNS查询目的,可将DNS解析分为以下两种类型。
- 正向解析
根据计算机的DNS名称(即域名)解析出相应的IP地址。
大部分DNS解析都是正向解析,即根据DNS域名查询对应的IP地址及其他相关信息。正向解析又称标准查询。正向解析记录存储在正向解析区域文件中。
- 反向解析
根据计算机的IP地址解析其DNS名称,多用来为服务器进行身份验证。
有时我们也会用到反向解析,即通过IP地址查询对应的域名,最典型的就是判断IP地址所对应的域名是否合法。由于反向解析的特殊性,RFC 1304规定了固定格式的反向解析区域后缀格式in-addr.arpa
与DNS名称不同,当IP地址从左到右读时,它们是以相反的方式解释的,所以对每个8位字节值需要使用域的反序,因此建立 in-addr-arpa。
反向解析区域文件与正向解析区域文件格式相同,只是其主要内容是用于建立IP地址到DNS域名的转换记录,即PTR资源指针记录。PTR资源指针记录和A资源记录正好相反,它是将IP地址解析成DNS域名的资源记录。
域名解析的具体过程
域名系统 (DNS) 旨在将主机名解析为 IP 地址。 将名称解析为 IP 地址的过程称为“正向解析”。 DNS 树被组织成一个倒置的树结构,地址的最不具体的部分在顶部,地址的最具体的部分在底部。
我们知道DNS服务器里面有两个区域,即“正向查找区域”和“反向查找区域”,正向查找区域就是我们通常所说的域名解析,反向查找区域即是所说的IP反向解析,我们下面来解析上图的域名解析过程。- 当客户机提出查询请求时,首先在本地计算机的缓存中查找。如果在本地无法获得查询信息,则将查询请求发给DNS服务器。
- 首先客户机将域名查询请求发送到本地DNS服务器,当本地DNS服务器接到查询后,首先在该服务器管理的区域的记录中查找,如果找到该记录,则利用此记录进行解析;如果没有区域信息可以满足查询要求,服务器在本地的缓存中查找。
- 如果本地服务器不能在本地找到客户机查询的信息,将客户机请求发送到根域名DNS服务器。
- 根域名服务器负责解析客户机请求的根域部分,它将包含下一级域名信息的DNS服务器地址返回给客户机的DNS服务器地址。
- 客户机的DNS服务器利用根域名服务器解析的地址访问下一级DNS服务器,得到再下一级域我的DNS服务器地址。
- 按照上述递归方法逐级接近查询目标,最后在有目标域名的DNS服务器上找到相应IP地址信息。
- 客户机的本地DNS服务器将递归查询结果返回客户机。
- 客户机利用从本地DNS服务器查询得到的IP访问目标主机,就完成了一个解析过程。
正向解析可以通过主机名获取其对应的广域网IP地址,使用 nslookup 命令在 Linux上输入
nslookup 【domain】
从返回的信息中可以看到正向解析的结果。
如何做反向DNS?
我们可以通过命令来执行反向 DNS 查找
1、使用 nslookup 命令
2、使用 dig 命令
3、使用 rDNS 查找工具反向 DNS 查找命令
nslooup命令
nslookup最简单的用法是查询域名对应的IP地址,也可以使用IP地址查找域名,例如:nslookup [ip_address]
使用nslookup可以输出返回指定 IP 地址的域名。
由于在域名系统中,一个IP地址可以对应多个域名,因此从IP出发去找域名,理论上应该遍历整个域名树,但这在Internet上是不现实的。为了完成逆向域名解析,系统提供一个特别域,该特别域称为逆向解析域in-addr.arpa。
在 IPv6 中,PTR 记录将 rDNS 条目存储在 .ip6.arpa 域中,而不是 .in-addr.arpa。dig命令
Linux下解析域名除了使用nslookup之外,还可以使用dig命令来解析域名,dig命令可以得到更多的域名信息。
dig命令是一个用于询问 DNS 域名服务器的灵活的工具。常见使用:
dig -x [ip_address]
更多关于dig命令,可以查找man手册。
dig -x 8.8.8.8
输出显示指定 IP 地址的域名。DNS反向解析实现
int main(int argc, char* argv[]) { int ret = 0; DNS_QUERY query; /* 只接受一个命令行参数 */ if (argc != 2 || (argc == 2 && argv[1][0] == '-')) { fprintf(stderr, "usage: %s [DOMAIN | IP]\n\n", argv[0]); return -1; } /* 从传递的域(或 IP)创建 DNS_QUERY */ query = createQuery(argv[1]); /* DNS 查询的十六进制转储 */ printf("\nDNS Query (%i bytes):\n", query.len); if (query.len == 0) return -1; hexDump(query.bytes, query.len); ret = dnsLookup(&query); if (ret == -1) { printf("dnsLookup fail!!!\n"); return -1; } printf("\n"); return 0; }
编译运行
总结
反向 DNS 是从 IP 地址对域名的 DNS 查找。 常规 DNS 请求从域名解析 IP 地址,而 rDNS 则相反,因此名称相反。
域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。这一过程通过域名解析系统DNS来完成。
欢迎关注微信公众号【程序猿编码】,需要DNS反向源码的添加本人微信号(c17865354792)
- 正向解析
-
android源码设计模式解析与实战.pdf下载 完整版高清
2016-12-02 19:35:05本书从Android源码的角度由浅入深地剖析设计模式的运用,让工程师们把设计与模式重视起来,提升自己的设计能力与代码质量。因此本书适合的读者为初、中、高级Android工程师。另外,设计思想都是相通的,其他领域的... -
http 协议解析类 c++
2013-02-01 21:49:37能够处理http协议:(1)解析 (2)构造http格式 -
JSON解析
2021-09-29 15:19:19JSON解析前言一、JSON的格式二、JSON解析工具1.Gson2.FastJson三、JSON解析1.jar导入2.使用Gson解析JSON3.使用Fastjson解析JSON总结 前言 JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换...
前言
JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。使用非常广泛。
一、JSON的格式
格式1——对象格式:一个对象, 由一个大括号表示. 括号中描述对象的属性 . 通过键值对来描述对象的属性1、键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
2、键值对的键 应使用引号引住
3、键值对的值, 可以是JS中的任意类型的数据
示例:JSON: { "name":"名称demo", "info":"简介demo" }
格式1——数组格式:一个对象, 由一个大括号表示. 括号中描述对象的属性 . 通过键值对来描述对象的属性,其中属性可以为一个数组,数组与对象又可以相互嵌套
示例:{ "name":"名称demo", "info":["一","二",{ "name":"名称2", "info":"简介2" }] }
二、JSON解析工具
1.Gson
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。
下载地址:gson jar包下载2.FastJson
Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
下载地址:fastjson jar包下载三、JSON解析
1.jar导入
无论是使用gson还是fastjson来解析JSON均需要导入相应的jar包,在第二节已经给出了jar包的下载地址,下载即可。接下来演示如何把jar包导入到我们的java项目中,演示皆以idea为例
①、如下图操操作,给需要导入jar包的项目创建一个文件夹,并命名为lib
②、将下载好的jar包复制到刚刚创建好的lib文件夹
③、引入Jar文件,按图片顺序操作即可
其余选项均点ok即可④、引入Jar包成功,可以看到jar包都可以展开了
2.使用Gson解析JSON
以Book类为例,使用gson实现对象和json互转
Book b = new Book("书名1","简介1"); //使用gson将对象转为json字符串 String json = new Gson().toJson(b); System.out.println(json); //使用gson将json字符转转为对象(第一个参数为json字符串,第二个参数为要转为的类) Book b2 = new Gson().fromJson("{\"name\":\"书名1\",\"info\":\"简介1\"}",Book.class);
3.使用Fastjson解析JSON
以Book类为例,使用fastjson实现对象和json互转
Book b = new Book("书名2","简介2"); //使用fastjson将对象转为json字符串 String json= JSON.toJSONString(b); System.out.println(json); //使用fastjson将json字符转转为对象(第一个参数为json字符串,第二个参数为要转为的类) Book b2 = JSON.parseObject("{\"name\":\"书名1\",\"info\":\"简介1\"}", Book.class);
总结
很简单也很方便,如果json是数组数据,则使用集合来接即可。
-
对比 | Python中超级好用的“列表解析式”、“字典解析式”、“集合解析式”
2020-10-12 22:09:51对比 | Python中超级好用的“列表解析式”、“字典解析式”、“集合解析式” -
2016年上半年系统集成项目管理工程师真题及答案解析(上午+下午)
2016-07-05 15:58:422016年上半年(5月份)软考 系统集成项目管理工程师上午真题及答案解析,全网最清晰,答案最正确的真题资料。小任老师出品,必属精品。 -
深入解析WINDOWS操作系统(第4版).pdf
2012-12-04 16:41:15《深入解析:Windows操作系统》(第4版)是著名的操作系统内核专家Mark Russinovich和David Solomon撰写的Windows操作系统原理的最新版著作,全面和深入地阐述了Windows操作系统的整体结构以及内部工作细节。... -
Android DNS解析过程
2022-01-02 00:39:49操作系统检查自身本地的hosts文件是否有这个网址的映射关系,如果有,直接返回完成域名解析如果hosts文件没有这个域名映射,则查找本地dns解析器缓存,如果有映射关系则完成域名解析 如果hosts和本地dns缓存都没有... -
2017年上半年信息系统项目管理师下午案例分析真题及答案解析
2017-05-22 13:48:452017年上半年(5月份)软考 信息系统项目管理师下午案例分析真题及答案解析,全网最清晰,答案最正确的真题资料。小任老师出品,必属精品。 -
java解析Excel文件的方法
2022-04-25 14:38:03使用org.apache.poi依赖,我自己写了两个类来实现对Excel文件的解析,重要的写前边,后边附加Controller与前端Element-ui的标签实现的文件上传与接收 -
什么是xml解析?xml解析的有几种常用的解析方式?
2019-08-14 19:51:35SAX解析只能查询,不能实现增删方法,不常用,这里就不过得介绍了 -
DNS——简介及正向解析、反向解析
2021-11-25 14:40:25文章目录一 DNS简介二 DNS域名解析(正向解析)三 DNS域名解析(反向解析) 一 DNS简介 1.DNS简介 DNS(域名系统)是将域名和IP地址相互映射的分布式数据库,更方便我们访问互联网。 2.DNS使用端口 DNS使用TCP和UDP... -
数据结构(C++语言版)第三版_邓俊辉 清华大学教材 附习题解析
2015-05-08 17:31:10数据结构(C++语言版)课本带习题解析第三版 -
多活主备选择性DNS解析(一个域名对应多个IP)
2022-04-21 19:30:49后续流程不涉及)DNS一对多域名的解析随机性DNS 域名解析负载均衡缺点:可能方案方案一、dns解析层面控制DNS解析结果1.1 通过内置DNS服务器控制IP解析(伪造DNS)1.2、让备机nginx的状态能够影响DNS服务器解析方案二... -
Python基础教程:列表解析
2021-05-14 16:59:55Python支持各种解析(comprehension)操作,比如列表解析、集合解析、元组解析、字典解析。它们根据某些元素来创建(推导)出一个新的列表、集合、元组、字典等。所以有的地方也称为推导,比如列表推导、集合推导等。 ... -
java解析xml文件
2022-03-30 22:04:20java解析xml常用的2种方法 第一种 dom解析 第二种 dom4j解析 <?xml version="1.0" encoding="UTF-8"?> <books> <book id="001"> <id>9</id> <title>Harry Potter</title&... -
易语言解析JSON教程
2021-06-09 02:57:21易语言解析JSON教程本文由applek于2015-7-7 17:25 发布在易语言教程现在很多数据都是为json返回,如果用正则的话显得太麻烦,下面果核源码网就带来json解析教程首先需要用到工具:精易模块3.6以上版本:json解析工具... -
深入解析ANDROID虚拟机
2015-08-14 16:22:55《深入解析Android虚拟机》循序渐进地讲解了Android虚拟机技术的基本知识,内容新颖、知识全面、讲解详细。全书分为13个章节,分别讲解了Android系统的基础知识、Android系统的结构和核心框架、Java虚拟机和Dalvik... -
DNS正向解析、反向解析、双向解析
2019-05-16 00:33:25资源记录类型: SOA记录(Start Of Authority record...A 记录(Adress record) ##将域名解析到IPv4的IP地址 AAAA 记录(Adress record) ##将域名解析到IPv6的IP位址 CNAME(Canonical Name record) ##别名记录... -
文件解析漏洞大全
2022-01-25 16:44:24一、apache解析漏洞 二、nginx解析漏洞 2.1nginx<8.03 2.2nginx 0.5,0.6,0.7 <= 0.7.65, 0.8 <= 0.8.37 三、IIS解析漏洞 3.1IIS 5.0/6.0 3.2 IIS 6.0 3.3IIS 7.x 四、windows解析漏洞 4.1... -
java如何解析JSON字符串(复杂json解析详解)
2021-08-11 17:37:16JSON就是一种数据的承载方式,可用户不同平台之间的数据交互类型,因为几乎所有的语言都支持JSON的创建和解析。 如:java是面向对象的,C是面向过程的,如何java发送一个对象给C,C就不能够识别什么是对象,或者识别... -
Java解析JSON文件
2021-07-15 11:35:35这篇文章主要讲讲 通过java去解析不同地方的json文件 通常我们需要解析本地的json文件或者服务器上的json文件。我们用来解析json格式的jar包有很多,jackson,fastjson,gson都行。但本人喜欢用fastjson。所以本篇都...