tcp端口

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(

命令备忘 ss

最后都变了- 提交于 2019-11-29 08:36:24
简介: Socket Statistics ( ss )命令类似于 netstat ,它用于显示各种有用的网络套接字信息。 长时间看,已经注意到 netstat 这个命令程序已经过时了。从而代替 netstat 的是 ss 命令。一个全新的 ss 命令使用起来必定有些陌生,不过 ss 许多选项与 netstat 使用的选项类似,但我们还会看到一些差异。 ss 命令是 Linux CentOS 7 中 iproute 软件包的一部分,默认已经安装。 一般来说,网络套接字是由IP地址,传输协议和端口来定义的。这种组合构成了双向连接的一个方面。例如:一个Web服务器可能正在侦听 172.28.204.62:80 上的传入TCP连接,这是套接字。不过需要说明的是套接字不是连接本身,而是连接的端点之一。 下面我讲解如何使用 ss 命令查看各种信息。具体使用语法如下: ss [options] [ FILTER ] 1.列出已建立的连接 默认情况下,如果我们运行 ss 命令而没有指定其他选项,它将显示所有已建立连接的打开的非侦听套接字的列表,例如 TCP , UDP 或 UNIX 套接字。 [root@renwolecom ~]# ss | head -n 5 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port u

Linux -- 防火墙对FTP的影响

你。 提交于 2019-11-29 08:20:12
  FTP默认使用21端口进行连接,但实际上不止使用了21端口,如果防火墙是打开的,那就会碰到一个问题就是,能登录ftp,但是下载文件却会有问题。   FTP是常见的基于TCP的网络服务,它使用了两个TCP连接来建立逻辑通信信道,即 控制连接和数据连接 。当客户端与服务器建立一个FTP会话时,使用TCP创建一个持久的控制连接以传递命令和应答。当发送文件和其它数据传输时,它们在独立的TCP数据连接上进行传递,这个连接根据需要创建和拆除。更为复杂的是, FTP标准指定了创建数据连接的两种不同方法,即正常(主动)数据连接和被动数据连接 。   FTP的 控制连接 总是由客户端首先发起的, 在主动模式下数据连接是由服务端发起的(即FTP Server),在被动模式下数据连接是由客户端发起的 。成功建立控制连接后,在进行主动连接时,客户端发送PORT命令,其中内嵌了地址和端口信息,以告知服务器进行连接,然后服务器打开默认端口20建立到客户端已告知地址和端口的数据连接。在进行被动连接时,客户机使用PASV命令告诉服务器等待客户机建立数据连接,服务器响应,告诉客户机为了数据传输它应该使用服务器上的什么端口(随机打开)。这种工作机制带来了一个严重的问题:在FTP的命令(PORT或PASV)或对它们的回答中传递IP地址及端口号与网络分层机制严重冲突,在FTP客户端与服务器的通信信道之间的网关设备

linux端口查询

天大地大妈咪最大 提交于 2019-11-29 05:50:38
常用端口 下面的表格中列举了包括在红帽企业 Linux 中的服务、守护进程、和程序所使用的最常见的通信端口。该列表还可以在 /etc/services 文件中找到。要查看由互联网号码分派局(IANA)制定的“著名的已注册动态端口”官方列表,请参考以下 URL: 端口号码 / 层 名称 注释 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 daytime 给请求主机发送日期和时间 17 qotd 给连接了的主机发送每日格言 18 msp 消息发送协议 19 chargen 字符生成服务;发送无止境的字符流 20 ftp-data FTP 数据端口 21 ftp 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用 22 ssh 安全 Shell(SSH)服务 23 telnet Telnet 服务 25 smtp 简单邮件传输协议(SMTP) 37 time 时间协议 39 rlp 资源定位协议 42 nameserver 互联网名称服务 43 nicname WHOIS 目录服务 49 tacacs 用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统 50 re-mail-ck 远程邮件检查协议 53

Centos7对外开放端口

一曲冷凌霜 提交于 2019-11-29 03:35:32
( 1)查看对外开放的端口状态 查询已开放的端口 netstat -anp 查询指定端口是否已开 firewall-cmd --query-port=666/tcp 提示 yes,表示开启;no表示未开启。 (2)查看防火墙状态 查看防火墙状态 systemctl status firewalld 开启防火墙 systemctl start firewalld 关闭防火墙 systemctl stop firewalld 开启防火墙 service firewalld start 若遇到无法开启 先用:systemctl unmask firewalld.service 然后:systemctl start firewalld.service ( 3)对外开发端口 添加指定需要开放的端口: firewall-cmd --add-port=123/tcp --permanent 重载入添加的端口: firewall-cmd --reload 查询指定端口是否开启成功: firewall-cmd --query-port=123/tcp ( 3)移除指定端口 firewall-cmd --permanent --remove-port=123/tcp 安装iptables -services : yum install iptables-services 进入下面目录进行修改:

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

Linux 防火墙开放、查询、关闭端口

走远了吗. 提交于 2019-11-29 01:43:19
1. 开放指定端口 firewall-cmd --zone=public --add-port=5121/tcp --permanent # --permanent 永久生效,如果不加此条,重启后该命令会失效 2. 查询已开放的端口 netstat -anp 查询指定端口是否已开 firewall -cmd --query -port = 666/tcp # 提示 yes,表示开启;no表示未开启。 3. 关闭端口 firewall - cmd - - permanent - - remove - port=123/tcp 来源: https://www.cnblogs.com/CaptainFM/p/11438069.html

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

iptables中文帮助

大兔子大兔子 提交于 2019-11-28 23:39:04
Iptables(8) System Manager's Manual Iptables(8) NAME iptables - IP包过滤器管理 总览 iptables -ADC 指定链的规则 [-A 添加 -D 删除 -C 修改] iptables - RI iptables -D chain rule num[option] iptables -LFZ 链名 [选项] iptables -[NX] 指定链 iptables -P chain target[options] iptables -E old-chain-name new-chain-name 说明 Iptalbes 是用来设置、维护和检查Linux内核的IP包过滤规则的。 可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。 每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处 理与之相匹配的包。这被称作'target'(目标),也可以跳向同一个表内的用 户定义的链。 TARGETS 防火墙的规则指定所检查包的特征,和目标。如果包不匹配,将送往该链中 下一条规则检查;如果匹配,那么下一条规则由目标值确定.该目标值可以是 用户定义的链名,或是某个专用值,如ACCEPT[通过], DROP[删除], QUEUE[排队],或者 RETURN[返回]。 ACCEPT 表示让这个包通过。 DROP