计算机网络基础知识

计算机网络

1. 网络的相关概念


1.1 网络通信


  • 概念: 两台设备之间通过网络完成数据传输
  • 网络通信: 将数据通过网络从一台设备到另一台设备
  • java.net包下提供了一系列的类或接口,梯控程序员使用,完成网络通信

1.2 网络


  1. 概念: 两台或多台设备通过一定物理设备连接起来构成了网络
  2. 根据网络的覆盖范围不同,对网络进行分类:
    • 局域网:覆盖范围最小,仅仅覆盖一个教室或一个机房
    • 城域网:覆盖范围较大,可以覆盖一个城市
    • 广域网:覆盖范围最大,可以覆盖全国,甚至全球,万维网是广域网的代表

1.3 IP地址


  • 概念: 用于唯一表示网络中的每台计算机

  • 查看ip地址: ipconfig

  • ip地址的表达形式: 点分十进制 xx.xx.xx.xx

  • 每一个十进制数的范围: 0~255(4个字节[32位])

  • ip地址的组成 = 网络地址 + 主机地址

  • ipv6是互联网工程任务组设计的用于替换ipv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址。

  • 由于ipv4最大的问题在于网络地址资源有限,严重限制了互联网的应用和发展。ipv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种设备接入互联网的阻碍。

825468-20180621115450954-1742075948

1.4 域名


  1. 好处: 方便记忆,解决记ip的困难
  2. 概念: 将ip地址映射成域名

1.5 端口号


  1. 概念: 用于标识计算机上某个特定的网络程序
  2. 表示形式: 以整数形式,范围 0~65535
  3. 0~1024已经被占用,比如ssh 22,ftp 21,smtp 25, http 80
  4. 常见的网络程序端口号
    • tomcat: 8080
    • mysql: 3306
    • Oracle: 1521
    • sqlserver: 1433

image-20220301232331851

2. OSI七层模型与TCP/IP四层模型


2.1 OSI(Open System Internetwork)


  • 应用层(application layer):用户接口,提供用户程序"接口"
  • 表示层(presentation layer): 数据的表示形式,特定功能的实现,如数据加密
  • 会话层(session layer): 允许不同机器上的用户之间简历会话关系,如windows

  • 传输层(transport layer): 传输层提供了主机应用程序进程之间的端到端的服务(数据段)

    ​ 分割于重组数据、按端口号寻址、连接管理、差错控制和流量控制


  • 网络层(transport layer): 路由和寻址。中继、差错检测、流量控制(数据包)
  • 数据链路层(data link layer): 链路连接的建立、拆除、分离。将数据封装成帧、差错检测和恢复(数据帧)
  • 物理层(physical layer): 主要负责比特流的传输(比特流)

2.2 TCP/IP


TCP/IP四层模型与OSI七层模型对应表

  • 协议(tcp/ip)

    ​ TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网路的基础,简单地说,就是由网络层地IP协议和传输层的TCP协议组成的。
    1234247-20170918100537618-1557095453
    image-20220301232708665

  1. 主机到网络层:提供接口

  2. 网络互连层:路由和寻址

  3. 传输层: 端到端的通信

    • TCP: 无差错高可靠,流量控制,拥塞避免(文件下载,银行app)
    • UDP: 快速高效传输(语音视频)
  4. 应用层

    • TCP应用: FTP、TELNET、HTTP

    • UPD应用: TFTP、NTP、语音视频

TCP/IP每层使用的协议

  • 网际层(主机到网络层): ARP,RARP
  • 网络层(网络互连层): IP,ICMP,IGMP
  • 传输层: TCP,UDP
  • 应用层: Telnet,FTP,SMTP,SNMP

image-20220226200905304

2.3 TCP和UDP


  • TCP协议: 传输控制协议

    1. 使用TCP协议前,须先建立TCP连接,形成传输数据通道

    2. 传输前,采用"三次握手"方式,是可靠的

    3. TCP协议进行通信的两个应用进程: 客户端、服务端

    4. 在连接中可进行大数据量的传输

    5. 传输完毕,需释放已建立的连接,效率低

  • UDP协议: 用户数据协议

    1. 将数据、源、目的封装成数据包,不需要建立连接

    2. 每个数据包的大小限制在64k内,不适合传输大量数据

    3. 因无需连接,故是不可靠的

    4. 发送数据结束时无需释放资源(因为不是面向连接的),速度快

3. 计算机网络各层代表设备


image-20220226201333771

物理层

中继器


​ 中继器(Repeater)是连接网络线路的一种装置,常用于两个网络节点之间物理信号的双向转发工作。中继器是最简单的网络互联设备,主要完成物理层的功能,负责在两个节点的物理层上按位传递信息,完成信号的复制、调整和放大功能,以此来延长网络的长度。它在OSI参考模型中的位置物理层。

​ 由于存在损耗, 在线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接收错误。中继器就是为解决这一问题而设计的。它完成物理线路的连接,对衰减的信号进行放大,保持与原数据相同。

中继器是模拟设备,用于连接两根电缆段。中继器不理解帧、分组和头的概念,他们只理解电压值。

一句话总结:中继器,就是简单的信号放大器,信号在传输的过程中是要衰减的,中继器的作用就是将信号放大,使信号能传的更远。

集线器


​ 集线器(Hub)是中继器的一种形式,区别在于集线器能够提供多端口服务,也称为多口中继器。集线器在OSI/RM中的物理层。

一句话总结:集线器,差不多就是个多端口的中继器,把每个输入端口的信号放大再发到别的端口去,集线器可以实现多台计算机之间的互联,因为它有很多的端口,每个口都能连计算机。

数据链路层

网桥


​ 网桥(Bridge)是一个局域网与另一个局域网之间建立连接的桥梁。网桥是属于数据链路层的一种设备,它的作用是扩展网络和通信手段,在各种传输介质中转发数据信号,扩展网络的距离,同时又有选择地将现有地址的信号从一个传输介质发送到另一个传输介质,并能有效地限制两个介质系统中无关紧要的通信。

一句话总结:网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”。

交换机


​ 交换机(Swich)工作在第二层(即数据链路层),它要比集线器智能一些,它能分辨出帧中的源MAC地址和目的MAC地址,因此可以在任意两个端口间建立联系,在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。交换机通过对信息进行重新生成,并经过内部处理后转发至指定端口,具备自动寻址能力和交换作用。但是 交换机并不懂得IP地址,它只知道MAC地址。

交换机是使用硬件来完成以往网桥使用软件来完成过滤、学习和转发过程的任务。交换机速度比HUB快,这是由于HUB不知道目标地址在何处,发送数据到所有的端口。而交换机中有一张MAC地址表,如果知道目标地址在何处,就把数据发送到指定地点,如果它不知道就发送到所有的端口。这样过滤可以帮助降低整个网络的数据传输量,提高效率。但是交换机的功能还不止如此,它可以把网络拆解成网络分支、分割网络数据流,隔离分支中发生的故障,这样就可以减少每个网络分支的数据信息流量而使每个网络更有效,提高整个网络效率。

​ 现代交换机是这样处理数据帧的:一旦目标头域(目标地址)已经进来了,尽管帧的其他部分还没有到达,则只要输出线路可以使用,交换机就开始转发该帧,而不需理会帧后面的内容,也即是说交换机并没有使用“存储—转发”交换方式。

​ 一句话总结:交换机,可以理解为高级的网桥,他有网桥的功能,但性能比网桥强。交换机和网桥的细微差别就在于:交换机常常用来连接独立的计算机,而网桥连接的目标是LAN,所以交换机的端口较网桥多。

网路层

路由器


​ 路由器(Router)工作在第三层(即网络层),它比交换机还要“聪明”一些,它能理解数据中的IP地址,如果它接收到一个数据包,就检查其中的IP地址,如果目标地址是本地网络的就不理会,如果是其他网络的,就将数据包转发出本地网络。与工作在网络物理层,从物理上划分网段的交换机不同,路由器使用专门的软件协议从逻辑上对整个网络进行划分。例如,一台支持IP协议的路由器可以把网络划分成多个子网段,只有指向特殊IP地址的网络流量才可以通过路由器。当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不同IP于网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。如果没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关(default gateway)”的路由器上。对于每一个接收到的数据包,路由器都会重新计算其校验值,并写入新的物理地址。网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通信。IP地址是与硬件地址无关的“逻辑”地址。目前TCP/IP网络,全部是通过路由器互连起来的,Internet就是成千上万个IP子网通过路由器互连起来的国际性网络。

​ 路由器用于连接多个逻辑上分开的网络,几个使用不同协议和体系结构的网络。路由器利用网络层定义的“逻辑”上的网络地址(即IP地址)来区别不同的网络,实现网络的互连和隔离,保持各个网络的独立性。当一个子网传输到另外一个子网时,可以用路由器完成。它具有判断网络地址和选择路径的功能,过滤和分隔网络信息流。一方面能够跨越不同的物理网络类型(DDN、FDDI、以太网等等),另一方面在逻辑上将整个互连网络分割成逻辑上独立的网络单位,使网络具有一定的逻辑结构。

一句话总结:路由器的主要工作就是为经过路由器的每个IP数据包寻找一条最佳传输路径,并将该数据有效地传送到目的站点。 路由器的基本功能是,把数据(IP报文)传送到正确的网络。

其他

网关


​ 网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。

一句话总结:网关,通过字面意思解释就是网络的关口。从技术角度来解释,就是连接两个不同网络的接口,比如局域网的共享上网服务器就是局域网和广域网的接口。

4. 路由器与交换机(二层)区别

路由器交换机
寻址方式ip地址mac地址
工作层次三层(网络层)二层(数据链路层)
转发方式ip转发mac转发
接口形态接口较少,但种类丰富接口较多,但种类较少
功能(NAT/IPSEC)支持不支持
性能

衍生问题:三层交换机与路由器的区别

均可工作在第三层,支持RIP/OSPF等,根据IP地址进行数据包转发(或交换),原理没有太大区别;

这个两个名词趋向于统一,我们可以认为三层交换机就是一个多端口的路由器

路由器擅长路由选择,交换机擅长交换转发

路由器特点: 基于CPU进行计算;能够处理复杂的路由算法和协议;主要用于广域网的抵数数据链路

交换机特点: ASIC、基于路由选路、局域网高速链路

5. 常用服务使用的端口号

端口:0

服务:Reserved
说明:通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。

端口:1
服务:tcpmux
说明:这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,默认情况下tcpmux在这种系统中被打开。Irix机器在发布是含有几个默认的无密码的帐户,如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。许多管理员在安装后忘记删除这些帐户。因此HACKER在INTERNET上搜索tcpmux并利用这些帐户。

端口:7
服务:Echo
说明:能看到许多人搜索Fraggle放大器时,发送到X.X.X.0和X.X.X.255的信息。

端口:19
服务:Character Generator
说明:这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时会发送含有垃圾字符的数据流直到连接关闭。HACKER利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。同样Fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。

端口:21
服务:FTP
说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口。

端口:22
服务:Ssh
说明:PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在。

端口:23
服务:Telnet
说明:远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的操作系统。还有使用其他技术,入侵者也会找到密码。木马Tiny Telnet Server就开放这个端口。

端口:25
服务:SMTP
说明:SMTP服务器所开放的端口,用于发送邮件。入侵者寻找SMTP服务器是为了传递他们的SPAM。入侵者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口。

端口:31
服务:MSG Authentication
说明:木马Master Paradise、Hackers Paradise开放此端口。

端口:42
服务:WINS Replication
说明:WINS复制

端口:53
服务:Domain Name Server(DNS)
说明:DNS服务器所开放的端口,入侵者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他的通信。因此防火墙常常过滤或记录此端口。

端口:67
服务:Bootstrap Protocol Server
说明:通过DSL和Cable modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址。HACKER常进入它们,分配一个地址把自己作为局部路由器而发起大量中间人(man-in-middle)攻击。客户端向68端口广播请求配置,服务器向67端口广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。

端口:69
服务:Trival File Transfer
说明:许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常由于错误配置而使入侵者能从系统中窃取任何 文件。它们也可用于系统写入文件。

端口:79
服务:Finger Server
说明:入侵者用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其他机器Finger扫描。

端口:80
服务:HTTP
说明:用于网页浏览。木马Executor开放此端口。

端口:99
服务:Metagram Relay
说明:后门程序ncx99开放此端口。

端口:102
服务:Message transfer agent(MTA)-X.400 over TCP/IP
说明:消息传输代理。

端口:109
服务:Post Office Protocol -Version3
说明:POP3服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交 换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统。成功登陆后还有其他缓冲区溢出错误。

端口:110
服务:SUN公司的RPC服务所有端口
说明:常见RPC服务有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等

端口:113
服务:Authentication Service
说明:这是一个许多计算机上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多计算机的信息。但是它可作为许多服务的记录器,尤其是FTP、POP、IMAP、SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,将会看到许多这个端口的连接请求。记住,如果阻断这个端口客户端会感觉到在防火墙另一边与E-MAIL服务器的缓慢连接。许多防火墙支持TCP连接的阻断过程中发回RST。这将会停止缓慢的连接。

端口:119
服务:Network News Transfer Protocol
说明:NEWS新闻组传输协议,承载USENET通信。这个端口的连接通常是人们在寻找USENET服务器。多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM。

端口:135
服务:Location Service
说明:Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和RPC的服务利用计算机上的end-point mapper注册它们的位置。远端客户连接到计算机时,它们查找end-point mapper找到服务的位置。HACKER扫描计算机的这个端口是为了找到这个计算机上运行Exchange Server吗?什么版本?还有些DOS攻击直接针对这个端口。

端口:137、138、139
服务:NETBIOS Name Service
说明:其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS Regisrtation也用它。

端口:143
服务:Interim Mail Access Protocol v2
说明:和POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞。记住:一种LINUX蠕虫(admv0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已经被感染的用户。当REDHAT在他们的LINUX发布版本中默认允许IMAP后,这些漏洞变的很流行。这一端口还被用于IMAP2,但并不流行。

端口:161
服务:SNMP
说明:SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络。

端口:177
服务:X Display Manager Control Protocol
说明:许多入侵者通过它访问X-windows操作台,它同时需要打开6000端口。

端口:389
服务:LDAP、ILS
说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。

端口:443
服务:Https
说明:网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。

端口:456
服务:[NULL]
说明:木马HACKERS PARADISE开放此端口。

端口:513
服务:Login,remote login
说明:是从使用cable modem或DSL登陆到子网中的UNIX计算机发出的广播。这些人为入侵者进入他们的系统提供了信息。

端口:544
服务:[NULL]
说明:kerberos kshell

端口:548
服务:Macintosh,File Services(AFP/IP)
说明:Macintosh,文件服务。

端口:553
服务:CORBA IIOP (UDP)
说明:使用cable modem、DSL或VLAN将会看到这个端口的广播。CORBA是一种面向对象的RPC系统。入侵者可以利用这些信息进入系统。

端口:555
服务:DSF
说明:木马PhAse1.0、Stealth Spy、IniKiller开放此端口。

端口:568
服务:Membership DPA
说明:成员资格 DPA。

端口:569
服务:Membership MSN
说明:成员资格 MSN。

端口:635
服务:mountd
说明:Linux的mountd Bug。这是扫描的一个流行BUG。大多数对这个端口的扫描是基于UDP的,但是基于TCP的mountd有所增加(mountd同时运行于两个端口)。记住mountd可运行于任何端口(到底是哪个端口,需要在端口111做portmap查询),只是Linux默认端口是635,就像NFS通常运行于2049端口。

端口:636
服务:LDAP
说明:SSL(Secure Sockets layer)

端口:666
服务:Doom Id Software
说明:木马Attack FTP、Satanz Backdoor开放此端口

端口:993
服务:IMAP
说明:SSL(Secure Sockets layer)

端口:1001、1011
服务:[NULL]
说明:木马Silencer、WebEx开放1001端口。木马Doly Trojan开放1011端口。

端口:1024
服务:Reserved
说明:它是动态端口的开始,许多程序并不在乎用哪个端口连接网络,它们请求系统为它们分配下一个闲置端口。基于这一点分配从端口1024开始。这就是说第一个向系统发出请求的会分配到1024端口。你可以重启机器,打开Telnet,再打开一个窗口运行natstat -a 将会看到Telnet被分配1024端口。还有SQL session也用此端口和5000端口。

端口:1025、1033
服务:1025:network blackjack 1033:[NULL]
说明:木马netspy开放这2个端口。

端口:1080
服务:SOCKS
说明:这一协议以通道方式穿过防火墙,允许防火墙后面的人通过一个IP地址访问INTERNET。理论上它应该只允许内部的通信向外到达INTERNET。但是由于错误的配置,它会允许位于防火墙外部的攻击穿过防火墙。WinGate常会发生这种错误,在加入IRC聊天室时常会看到这种情况。

端口:1170
服务:[NULL]
说明:木马Streaming Audio Trojan、Psyber Stream Server、Voice开放此端口。

端口:1234、1243、6711、6776
服务:[NULL]
说明:木马SubSeven2.0、Ultors Trojan开放1234、6776端口。木马SubSeven1.0/1.9开放1243、6711、6776端口。

端口:1245
服务:[NULL]
说明:木马Vodoo开放此端口。

端口:1433
服务:SQL
说明:Microsoft的SQL服务开放的端口。

端口:1492
服务:stone-design-1
说明:木马FTP99CMP开放此端口。

端口:1500
服务:RPC client fixed port session queries
说明:RPC客户固定端口会话查询

端口:1503
服务:NetMeeting T.120
说明:NetMeeting T.120

端口:1524
服务:ingress
说明:许多攻击脚本将安装一个后门SHELL于这个端口,尤其是针对SUN系统中Sendmail和RPC服务漏洞的脚本。如果刚安装了防火墙就看到在这个端口上的连接企图,很可能是上述原因。可以试试Telnet到用户的计算机上的这个端口,看看它是否会给你一个SHELL。连接到600/pcserver也存在这个问题。

资料参考:

https://blog.csdn.net/dcoz83028/article/details/101959032

https://www.jianshu.com/p/dfb08cb87773

  • 13
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

J.T.L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值