1:windows命令中看进程对应的端口号
该命令的一般格式为 :
netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval] 选项 命令中各选项的含义如下: -a 显示所有socket,包括正在监听的。 -n 以数字形式显示地址和端口号。 -r 显示核心路由表,格式同“route -e”。 -t 显示当前连接卸载状态。 -v 显示正在进行的工作。 -p proto 显示proto指定的协议的连接。 -b 显示在创建每个连接或侦听端口时涉及的可执行程序。 -e 显示以太网统计。此选项可以与 -s 选项结合使用。 -f 显示外部地址的完全限定域名(FQDN)。 -o 显示拥有的与每个连接关联的进程PID。 -q 显示所有连接、侦听端口和绑定的非侦听 TCP 端口。 -s 显示每个协议的统计。 -x 显示 NetworkDirect 连接、侦听器和共享端点。 -y 显示所有连接的 TCP 连接模板。无法与其他选项结合使用。 interval 重新显示选定的统计,各个显示间暂停的 间隔秒数。按 CTRL+C 停止重新显示统计。如果省略,则 netstat 将打印当前的配置信息一次。
2:实验
1:子网划分
2: 配地址 按照图上的标识来配地址
3:配路由
AR7:
ip route-static 192.168.1.0 24 192.168.1.6
ip route-static 0.0.0.0 0 192.168.1.6
ip route-static 192.168.1.224 27 NULL 0
ip route-static 192.168.1.32 27 NULL 0
AR4:
ip route-static 192.168.1.0 24 192.168.1.10
ip route-static 0.0.0.0 0 192.168.1.10
dhcp enable
int g 2/0/0
dhcp select interface
dhcp server dns-list 8.8.8.8 8.8.4.4
AR3
ip route-static 192.168.1.0 24 192.168.1.14
ip route-static 0.0.0.0 0 192.168.1.14
ip route-static 192.168.1.0 24 192.168.1.22
ip route-static 192.168.1.0 24 192.168.1.18 preference 61
ip route-static 192.168.1.128 27 NULL 0
ip route-static 192.168.1.96 27 NULL 0
AR2
ip route-static 192.168.1.0 24 192.168.1.2
ip route-static 0.0.0.0 0 192.168.1.2
ip route-static 192.168.1.192 27 NULL 0
ip route-static 192.168.1.160 27 NULL 0
AR5
ip route-static 192.168.1.0 27 NULL 0
]ip route-static 0.0.0.0 0.0.0.0 56.1.1.2
ip route-static 192.168.1.0 24 192.168.1.21
ip route-static 192.168.1.0 24 192.168.1.17 preference 61
4:AR7开启telnet:
aaa
local-user root privilege level 15 password cipher root
local-user root service-type telnet
q
user-interface vty 0 4
authentication-mode aaa
5:R5配置NAT以及端口映射:
acl 2000
rule permit source 192.168.1.0 0.0.0.255
int g0/0/1
nat outbound 2000
6:端口映射:
int g0/0/1
nat server protocol tcp global current-interface 23(协议号) ins
ide 192.168.1.33 23(端口号)
Warning:The port 23 is well-known port. If you continue it may cause function fa
ilure.
Are you sure to continue?[Y/N]:y
3:三次握手
三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。
刚开始客户端处于 Closed 的状态,服务端处于 Listen 状态。 进行三次握手:
第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN。此时客户端处于 SYN_SENT 状态。
首部的同步位SYN=1,初始序号seq=x,SYN=1的报文段不能携带数据,但要消耗掉一个序号。
第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN(s)。同时会把客户端的 ISN + 1 作为ACK 的值,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_RCVD 的状态。
在确认报文段中SYN=1,ACK=1,确认号ack=x+1,初始序号seq=y。
第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接。
确认报文段ACK=1,确认号ack=y+1,序号seq=x+1(初始为seq=x,第二个报文段所以要+1),ACK报文段可以携带数据,不携带数据则不消耗序号。
发送第一个SYN的一端将执行主动打开(active open),接收这个SYN并发回下一个SYN的另一端执行被动打开(passive open)。
|