计算机端口

python 网络编程 TCP/IP socket UDP

牧云@^-^@ 提交于 2019-11-29 13:55:57
TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多。 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM、Apple和Microsoft都有各自的网络协议,互不兼容,这就好比一群人有的说英语,有的说中文,有的说德语,说同一种语言的人可以交流,不同的语言之间就不行了。 为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就是通用协议标准。Internet是由inter和net两个单词组合起来的,原意就是连接“网络”的网络,有了Internet,任何私有网络,只要支持这个协议,就可以联入互联网。 因为互联网协议包含了上百种协议标准,但是最重要的两个协议是TCP和IP协议,所以,大家把互联网的协议简称TCP/IP协议。 通信的时候,双方必须知道对方的标识,好比发邮件必须知道对方的邮件地址。互联网上每个计算机的唯一标识就是IP地址,类似123.123.123.123。如果一台计算机同时接入到两个或更多的网络,比如路由器,它就会有两个或多个IP地址,所以,IP地址对应的实际上是计算机的网络接口,通常是网卡。 IP协议负责把数据从一台计算机通过网络发送到另一台计算机。数据被分割成一小块一小块,然后通过IP包发送出去

Python学习日记(二十九) 网络编程

痞子三分冷 提交于 2019-11-29 12:44:24
早期的计算机通信需要有一个中间件,A要给B传东西,A必须要把信息传给中间件,B再把从中间件中拿到信息 由于不同机器之间需要通信就产生了网络 软件开发的架构 1.C/S架构 服务器-客户机,即Client-Server架构,C/S架构通常采取两层结构.Sever负责数据的管理,Client负责完成与用户的交互任务 这里来说Client主要是某个应用软件的exe文件,程序要在安装后,才能运行在用户电脑上。 例如:QQ、微信、网易云音乐等 2.B/S架构 浏览器端-服务器,即Browser-Sever,B/S架构是WEB兴起后的一种网络架构模式,WEB浏览器是客户端最主要的应用软件.这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用.客户机上只要安装一个Browser,服务器安装Oracle、SQL Sever等数据库.浏览器通过Web Sever同数据库进行数据交互,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。 例如:百度、知乎、豆瓣、博客园等 3.B/S架构和C/S架构之间的关系 B/S架构是C/S架构的一种 计算机网络的发展及基础网络概念 早期:联机 想要实现通信就必须要网卡和网线,每个网卡上都有一个全球唯一的MAC地址 MAC地址 :英文名为Media Access Control

C# Socket编程笔记

≯℡__Kan透↙ 提交于 2019-11-29 11:15:50
注:本文为个人学习摘录,原文地址:http://www.cnblogs.com/stg609/archive/2008/11/15/1333889.html 看到这个题目,是不是很眼熟?在博客园里搜下,保证会发现关于这个东东的文章实在是太多了~~~真得是没有写得必要,而且我也有点懒得去琢磨字句。(看到这,肯定得来个转折的了,不然就看不到下文了,不是吗)但是,为了自己下一篇要写的文章做参考,还是有必要先补充一下socket基础知识。 注意:如果你已经接触过socket,那就没什么必要耽误时间看下去了。另外,如果发现其中任何错误,欢迎直接指出。 1.按惯例先来介绍下socket Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样。在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单位),而这里这个描述符则是用于描述网络访问的。什么意思呢?就是程序员可以通过socket来发送和接收网络上的数据。你也可以理解成是一个API。有了它,你就不用直接去操作网卡了,而是通过这个接口,这样就省了很多复杂的操作。 在C#中,MS为我们提供了 System.Net.Sockets 命名空间,里面包含了Socket类。 2.有了socket,那就可以用它来访问网络了 不过你不要高兴得太早,要想访问网络,还得有些基本的条件(和编程无关的我就不提了):a.

C# Socket编程笔记

妖精的绣舞 提交于 2019-11-29 11:14:42
C# Socket编程笔记 1.按惯例先来介绍下socket Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样。在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单位),而这里这个描述符则是用于描述网络访问的。什么意思呢?就是程序员可以通过socket来发送和接收网络上的数据。你也可以理解成是一个API。有了它,你就不用直接去操作网卡了,而是通过这个接口,这样就省了很多复杂的操作。 在C#中,MS为我们提供了 System.Net.Sockets 命名空间,里面包含了Socket类。 2.有了socket,那就可以用它来访问网络了 不过你不要高兴得太早,要想访问网络,还得有些基本的条件(和编程无关的我就不提了):a. 要确定本机的IP和端口,socket只有与某一IP和端口绑定,才能发挥强大的威力。b. 得有协议吧(否则谁认得你这发送到网络的是什么呀)。想要复杂的,我们可以自己来定协议。但是这个就不在这篇里提了,我这里介绍两种大家最熟悉不过的协议:TCP & UDP。(别说你不知道,不然...不然...我不告诉你) 如果具备了基本的条件,就可以开始用它们访问网络了。来看看步骤吧: a. 建立一个套接字 b. 绑定本机的IP和端口 c. 如果是TCP,因为是面向连接的,所以要利用ListenO(

JAVA 通过 Socket 实现 TCP 编程

99封情书 提交于 2019-11-29 11:11:40
简介 TCP简介 TCP(Transmission Control Protocol 传输控制协议)是一种面向 连接的 、 可靠的 、 基于字节流 的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层 传输层 所指定的功能,用户数据报协议(UDP,下一篇博客会实现)是同一层内 另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。 应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元( MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。 JAVA Socket简介 所谓socket

one_day_one_linuxCmd---netstat命令

冷暖自知 提交于 2019-11-29 05:10:18
  《坚持每天学习一个 linux 命令,今天我们来学习 netstat 命令》   前言:netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态等,还可以很方便查看本地机器上的外部连接及本地和远程系统连接的状态。 我们先来看一下执行 netstat 命令结束后的输出信息: 从整体上看,输出的信息主要可以分为两部分: 1,Active Internet connections: 称为有源 TCP 连接,其中Recv-Q 和 Send-Q 分别表示接收队列和发送队列,这些数字一般都应该为 0,如果不是表示网络包正在缓冲队列中堆积,这种情况只能在非常少的情况下能看到。 2,Active UNIX domain socket: 称为有源 Unix域套接口(和网络套接字一样,但只能用于本机通信,性能可以提高一倍),Proto 表示连接所使用的协议,RefCnt 表示连接到本套接口上的进程号,Type 显示套接口的类型,State 显示套接口当前的状态,Path 表示连接到套接口的其它进程使用的路径名。 options:   -a : 显示所有选项,默认不显示 LISTEN 相关    -t : 仅显示 tcp 相关选项   -u : 仅显示 udp 相关选项   -n : 禁止显示别名,能显示数字的全部转换成数字(如将 localhost 显示为 192.168.175

Linux服务管理

纵饮孤独 提交于 2019-11-29 03:24:22
目录 一、简介与分类 1.1系统的运行级别 1.2 运行级别命令 2.服务的分类 3.服务与端口 二、RPM包服务管理 三、源码包服务管理 四、服务管理总结 一、简介与分类 1.1系统的运行级别 linux有 7 个运行级别 运行级别 含义 0 关机 1 单用户模式,可以想象成windows的安全模式,主要用于系统修复 2 不完全的命令行模式,不颔NFS服务q 3 完全的命令行模式,就是标准字符界面 4 系统保留 5 图形模式 6 重启动 我们常用级别3或级别5,当比如忘记root密码等,可以进级别1进行修复。 1.2 运行级别命令 runlevel :查看运行级别命令 [root@localhost ~]# runlevel N 5 表示我们当前在5级别,第一个数字表示我们的前一个级别,我们一进入系统,便在5级别,所以显示为N(null)。 init : 修改运行级别命令,比如 init 0 进行关机, init 6 进行重启系统,当然这只是Linux重启、关机命令的一种方式。 那如何修改系统默认运行级别呢?,比如一开机就进入 级别3 . vim /etc/inittab id:3:initdefault: 修改后即能让系统开机后直接进入哪个运行级别,不过这点呢,在centos7中发生了变化,可自查。 2.服务的分类 我们知道,系统服务是在后台运行的应用程序

ftp主动和被动模式区别

别来无恙 提交于 2019-11-29 03:14:20
转载自:http://www.west999.com/cms/wiki/server/2018-11-16/49417.html FTP是基于TCP的服务的,FTP不同之处在于FTP使用两个端口,一个数据端口和一个命令端口(也称为控制端口),本文是西部数码技术频道小编为大家分享的分析FTP主动被动模式的优缺点,一起来了解一下吧! 主动模式   1. FTP client use TCP port 1026 for command to FTP server command port 21   2. FTP server use TCP port 21 responed? to FTP client command port 1026   3. FTP server use TCP port 20 for sending data to FTP client data port 1027 (1026 + 1)   4. FTP client use TCP port 1027 ( 1026 + 1) for data ACK to FTP server port 20 被动模式   1. FTP client use TCP port 1026 to FTP server command port 21 via command PASV   2. FTP server use TCP

TCP协议实现简单的通信

☆樱花仙子☆ 提交于 2019-11-29 00:50:09
TCP协议实现简单的通信 ## TCP协议: 是一种面向连接的保证可靠的传输协议,通过TCP协议传输,得到的是一个顺序的无差错的数据流。 发送方和接收方的成对的建立连接。必须通了之后才能传输数据。可以双向传输数据 * 端口: ** 我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念。 根据提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。 计算机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达, 也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不管了,不去确认信息是否到达, 这种方式大多采用UDP协议。对应这两种协议的服务提供的端口,也就分为TCP端口和UDP端口。 *第一步:**创建客户端方:Client.java import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; /** * TCP 通信 客户端发送消息 * */ public class Client { public

工具原理

杀马特。学长 韩版系。学妹 提交于 2019-11-29 00:10:15
一,Nmap(tcp/ip) 1, 主机发现原理: 发送探测包到目标主机,如果收到回复,就说明主机是开启的;否则是关闭的。默认情况是会发送四种不同类型的数据白来探测主机是否在线(icmp/tcp syn/tcp ack/ICMP timestamp(时间戳) 2, 端口扫描原理 ———————————————— open:端口是开放的。 closed:端口是关闭的。 filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。 unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。 open|filtered:端口是开放的或被屏蔽。 closed|filtered :端口是关闭的或被屏蔽。 ———————————————— (1) Tcp syn : 发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明该端口是关闭的。如果没有收到回复,那么判断该端口被屏蔽(Filtered) (2) TCP connect:向目标端口发送syn完整的连接请求,如果回复rst就是端口没开放,如果回复syn/ack就是端口开启,攻击机在回复ack结束连接,rst重置连接 (3) Tcp ack:向目标主机的端口发送ACK包,如果收到RST包,没有收到RST包,说明被屏蔽。用于确定防火墙是否屏蔽某个端口。 (4) TCP FIN/Xmas