# 内核态层-IP层面试题

# 目录

[toc]

# 如何检测远程端口port是否打开?

nc -v host port
nc -v 域名 port
端口未打开返回状态为非0
1
2
3
~ nc -v 47.113.150.32 12345
Connection to 47.113.150.32 port 12345 [tcp/italk] succeeded!
^C
➜  ~ nc -v 47.113.150.32 12345
nc: connectx to 47.113.150.32 port 12345 (tcp) failed: Connection refused
1
2
3
4
5
  • telnet
在出来的DOS界面里,输入telnet测试端口命令: 

telnet IP 端口 或者 telnet 域名 端口,回车。
  
如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败;端口打开的情况下,链接成功,则进入telnet页面(全黑的),证明端口可用。
1
2
3
4
5

# 如何在Linux 下指定端口开放访问权限(unbuntu)?

# CentOS 开放指定端口「三板斧」

例如要开放12345 端口,执行

firewall-cmd --zone=public --add-port=12345/tcp --permanent
1

其中 --zone 表示作用域;

--add-port=8808/tcp 表示指定开放的端口,其格式为【端口/通讯协议】

--permanent 表示永久生效,如果没有配置此参数,重启后配置会失效。

然后重启防火墙

firewall-cmd --reload
1

查看防火墙规则,用如下命令

iptables -L
1

# 注意-阿里云服务器,开放端口还需要:添加安全组规则

  • 参考资料:https://help.aliyun.com/document_detail/25471.html?spm=a2c6h.13066369.question.9.1d69101fNlAxoC&source=5176.11533457&userCode=2o5j5ahd

# 子网、局域网、网段的关系?

CSDN解释 (opens new window)

  • 在不要求精确性的情况下,子网、局域网和网段可以理解为同一个意思,但是同一个局域网/同一个子网/同一个网段 和 同一个网络不是同一个概念

  • 子网划分

参考文章 (opens new window)(很不错)

1:本例通过子网数来划分子网,未考虑主机数。
一家集团公司有12家子公司,每家子公司又有4个部门。上级给出一个『『『172.16.0.0/16的网段』』』(我疑惑的地方!!!),让给每家子公司以及子公司的部门分配网段。
思路:既然有12家子公司,那么就要划分12个『『『子网段』』』(或许这话更准??),但是每家子公司又有4个部门,因此又要在每家子公司所属的网段中划分4个子网分配给各部门。
1
2
3

# 什么是公有IP/私有IP [图解]

IP地址的分类?
IP地址的网络部分是由internet地址分配机构来统一分配的,这样可以保证IP的唯一性

『注意1』
IP地址中全为1的IP即255.255.255.255 它标示限制广播地址,如果将其作为数据包的目标地址可以理解为发送到所有网络的所有主机

『注意2』
IP地址全为0的IP即0.0.0.0 表示启动时的IP地址 含义尚未未分配的IP地址

『注意3』
127是用来进行本机测试的,除了127.255.255.255外,其他的127开头的地址都代表本机
1
2
3
4
5
6
7
8
9
10
11
  • 公共地址

由 Inter NIC(Internet Network Information Center 因特网信息中心)负责。这些 IP 地址分配给注册并向Inter NIC提出申请的组织机构,公有 IP 全球唯一,通过它直接访问因特网(直接能上网)。公共IP地址是能够让两台电脑相互识别的数字。在连接互联网时,用户的电脑通常被ISP(互联网服务提供者)安排一个地址。

  • 私有地址

属于非注册地址,专门为组织机构内部使用,也就是说,私有 IP 不能直接上网。在许多电脑或设备被电缆或无线相互连接时,就可以构成一个私有网络。尽管私有网络中的地址必需是唯一的,但不同网络可以使用相同的地址。我们办的宽带通过路由器接入,使用的IP地址就是私有IP地址,路由器的设备将数据利用私有IP地址在连接的电脑之间传输 原文链接:https://blog.csdn.net/sdd220/article/details/78337796

什么是a.b.c类地址?(zhihu)

[知乎](https://www.zhihu.com/question/302935308/answer/544123478)
作者:架在天国的陆
链接:https://www.zhihu.com/question/302935308/answer/544123478
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1
2
3
4
5
  • 1. A类IP地址一个A类IP地址由1字节的网络地址和3字节主机地址组成
    • 网络地址的最高位必须是“0”, 地址范围从1.0.0.0126.0.0.0
    • 可用的A类网络有126个,每个网络能容纳1亿多个主机。(中国有4个A类IPv4地址)
    • 关于网络号:从0-127的说法,其实是可以理解的『但是』
    • 原因:
    • 『注意2』 IP地址全为0的IP即0.0.0.0 表示启动时的IP地址 含义尚未未分配的IP地址
    • 『注意3』 127是用来进行本机测试的,除了127.255.255.255外,其他的127开头的地址都代表本机
    • 所以,我们只算1-126的
  • 2. B类IP地址一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成
    • 网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255
    • 可用的B类网络有16382个,每个网络能容纳6万多个主机
    • 『其中,除去私有IP172.16.0.0~172.31.255.255这些私有B类IP,其他的是B类公有IP』
  • 3. C类IP地址一个C类IP地址由3字节的网络地址和1字节的主机地址组成
    • 网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255
    • C类网络可达209万余个,每个网络能容纳254个主机。
    • IP地址由4个字节组成(4*8=32 bit),采用点分十进制标记法,即X.X.X.X的形式,用4个十进制数来对应表示4个字节的二进制数值,数值中间用“.”隔开。
    • 每个十进制数的取值在 0~255之间。
      • 由于A类地址中首位为0(0XXXXXXX),所以其第1个十进制数的取值范围被限定于1~126(2的7次方128个)之间(0和 127另有指定)。
      • 同理,B类地址中第1、2位为10(10XXXXXX),第1个十进制数的取值范围被限定于128~191(2的6次方64个)之间。
      • C类地址中第1、2、3位为110(110XXXXX),第1个十进制数的取值范围被限定于192~223(2的5次方32个)之间。

# A、B、C类私有地址

私有地址(privateaddress)也叫专用地址(私网IP),它们不会在全球使用,只具有本地意义。

A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255
B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255
C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255
1
2
3

# 4种网络连接通信方式

类别
公网-公网 直接访问
公网-私网 NAT映射
私网-公网 NAT映射
私网-私网 NAT映射、(公网的服务器)打洞机制『如果是内网,也可以直接访问』【如果不是同一局域网,还是需要借助公网服务器!】
  • 实际上,要是对私网IP进一步划分的话,还分为局域网,或者叫内网,这个的话,不需要打洞或者NAT映射机制

# 什么是NAT『映射』?什么是内网穿透?『重要』

  • 参考资料:https://mp.weixin.qq.com/s/OarpA7qLClWLAWHOj-LOPw

# IPv6真的需要吗?

需要,虽然根据理论,IPv4的话,进行多层也是可以满足的,但是正是因为『未来』会越来越多层 ,到时候,传输的效率会下降