Linux 系统应用编程——网络编程(常用命令解析)

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处于监听状态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402347.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

灾难 BZOJ 2815

灾难 【样例输入】 5 0 1 0 1 0 2 3 0 2 0 【样例输出】 4 1 0 0 0 题解: 先跑出拓扑序 我们按拓扑序建立一棵“灭绝树” 灭绝树含义是当一个点灭绝时,它的子树将会全部灭绝 所以答案就是点在灭绝树中的子树大小 一个点如果灭绝,那么需要所有…

centos关于”running yum-complete-transaction first...

2019独角兽企业重金招聘Python工程师标准>>> 今天在用yum安装软件出错几次户,总是有提示信息: There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them. The program yum…

js身份证号、电话脱敏处理(用*替换中间数据)

数字类型 certificatecodecopy certificatecode.replace(/^(.{6})(?:\d)(.{4})$/, "\$1****\$2"); 所有类型 enginenocopy engineno.replace(/^(.{2})(?:\w)(.{1})$/, "\$1****\$2"); enginenocopy engineno.replace(/^(.{4})(?:\w)(.{4})$/, &…

Linux 系统应用编程——网络编程(I/O模型)

Unix下可用的5种I/O模型:阻塞I/O非阻塞I/OI/O复用(select和poll)信号驱动I/O(SIGIO)异步I/O(POSIX的aio_系列函数)一个输入操作通常包括两个不同的阶段:1)等待数据准备好;2)从内核向进程复制数据;对于一个套…

Windows 7 OpenGL配置

Windows 7 OpenGL配置,解决“无法启动此程序,因为计算机中丢失glut32.dll。”转载于:https://www.cnblogs.com/yangai/p/6253332.html

servlet乱码 解决方法 2种方法

public class ResponseDemo1 extends HttpServlet {public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {test1(resp);}//方法1:public void test1(HttpServletResponse resp) throws IOException, UnsupportedEncod…

C#通过属性名字符串获取、设置对象属性值

目录 #通过反射获取对象属性值并设置属性值 0、定义一个类1、通过属性名(字符串)获取对象属性值2、通过属性名(字符串)设置对象属性值#获取对象的所有属性名称及类型#判断对象是否包含某个属性回到顶部 #通过反射获取对象属性值…

Linux 系统应用编程——网络编程(TCP/IP 数据包格式解析)

图中括号中的数字代表的是当前域所占的空间大小,单位是bit位。 黄色的是数据链路层的头部,一共14字节 绿色的部分是IP头部,一般是20字节 紫色部分是TCP头部,一般是20字节 最内部的是数据包内容 黄色部分:链路层 目的MA…

mongodb防火墙配置

http://ruby-china.org/topics/20128 https://docs.mongodb.com/manual/tutorial/configure-linux-iptables-firewall/转载于:https://www.cnblogs.com/diyunpeng/p/6256928.html

【python】动态调用函数名

环境: C:\Users\DELL\Desktop>python -V Python 3.9.10 源码: #!/bin/env python # encoding utf-8 import sys import socket# 获取本机ip地址 def get_host_ip():try:s socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.connect((8.8.8.8, …

AC Again hdoj 1582 搜索

AC Again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 306 Accepted Submission(s): 84 Description “AC”这个单词大概是我们 ACMers 最希望听到的回答了。不过如果把它写下来,你还能认识吗&am…

Linux 系统应用编程——网络编程(利用TCP/IP 模型分析数据传输过程)

TCP/IP参考模型是一个非常基础,而且也非常重要的基础框架,要想入门数通这是个必须掌握的基本概念,本文档通过一个简单的示例,结合参考模型来分析一下数通的基本过程。网络环境非常简单,如下图所示,我们现在…

Python SQLAlchemy --3

本文為 Python SQLAlchemy ORM 一系列教學文: 刪除 學會如何查詢之後,就能夠進行後續的刪除、更新等操作。 同樣地,以幾個範例做為學習的捷徑。 123456789 user_1 User(user1, username1, password_1)user_2 User(user2, username2, passw…

C#DateTime.ToString格式化时间字符串

DateTime.ToString(string format) 中 format 参数(区分大小写): 参数 含义 d 月中的某一天。一位数的日期没有前导零。 dd 月中的某一天。一位数的日期有一个前导零。 ddd 周中某天的缩写名称,在 AbbreviatedDayNam…

Wordpress中显示页面当前位置

Wordpress中显示页面当前位置 在浏览网站的时候,很多网站都提供了页面定位的功能,一般在文章的上方以这样的形式显示: 首页 >> 分类 >> 子分类 >> „ >> 阅读正文 那如何在wordpress中实现这样一个功能呢&#xff1…

CentOS8下 nginx+php7.4安装pdo_sqlsrv 连接 SQL SERVER2012数据库

参考自:https://blog.csdn.net/lwprain/article/details/109598560 关键步骤是一二三,结合 pecl install 正常安装(先安装dnf install unixODBC-devel)即可搞定 ------------------------------------------------------------------------------------…

ArcGIS Engine 编辑- ITask

转自原文ArcGIS Engine 编辑- ITask 下面的代码是我们定制的一个工作流-给等高线赋值 namespace EngineApplication { [Guid("5b0c0692-eaf7-4d64-9cee-c8c1afaf06f4")] [ClassInterface(ClassInterfaceType.None)] [ProgId("EditeTest.ContourTask")] pu…

Linux 系统应用编程——网络编程(TCP 协议三次握手过程)

TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标示: SYN ( synchronous 建立联机 ) ACK ( acknowledgement 确认 ) PSH ( push 传送…

知识管理在客户关系管理中的应用领域

CRM中的知识获取 CRM前端业务系统(包括销售管理、营销管理、客户服务三个模块)为与客户互动、获取客户知识提供了各种途径,如销售自动化系统、电子商务网站、呼叫中心、网络社区、博客等等,另外,企业还直接从外部环境、…

基于ELK的简单数据分析

原文链接: http://www.open-open.com/lib/view/open1455673846058.html 环境 CentOS 6.5 64位JDK 1.8.0_20Elasticsearch 1.7.3LogStash 1.5.6Kibana 4.1.4介绍 ElasticSearch是有名的开源搜索引擎,现在很多公司使用ELK技术栈做日志分析,比如…