1、telnet
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。
当我们使用Telnet登录进入远程计算机系统时,事实上启动了两个程序:一个是Telnet客户程序,运行在本地主机上;另一个是Telnet服务器程序,它运行在要登录的远程计算机上。
本地主机上的Telnet客户程序主要完成以下功能:
●建立与远程服务器的TCP联接。
●从键盘上接收本地输入的字符。
●将输入的字符串变成标准格式并传送给远程服务器。
●从远程服务器接收输出的信息。
●将该信息显示在本地主机屏幕上。
远程主机的“服务”程序通常被昵称为“精灵”,它平时不声不响地守候在远程主机上,一接到本地主机的请求,就会立马活跃起来,并完成以下功能:
●通知本地主机,远程主机已经准备好了。
●等候本地主机输入命令。
●对本地主机的命令作出反应(如显示目录内容,或执行某个程序等)。
●把执行命令的结果送回本地计算机显示。
●重新等候本地主机的命令。
下面我们利用Telnet 测试我们自己所写的TCP服务器,下面是个TCP服务器的demo,实现"echo” 功能。
我们可以看到主机IP地址为192.168.3.51,端口号PORT为8888,正在监听中,
这里我们执行telnet命令
可以看到连接成功,下面我们可以向服务器端发送数据
这里TCP服务器实现的功能是 echo ,就是在客户端输入数据,会显示在下方,图中可以看到效果,下面是服务器端显示
2、lsof
lsof最基本的功能:
lsof -i:(端口)查看这个端口有那些进程在访问,比如我们上面正在监听的8888端口
这里可以看到我们的TCP服务器和Telnet 都在访问这个端口号。
3、netstat
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
常见参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l 才能看到
1. 列出所有端口 (包括监听和未监听的)
列出所有端口 netstat -a
2. 列出所有处于监听状态的 Sockets
只显示监听端口 netstat -l
可以看到端口8888处于监听状态