排查系统故障的时候,我们通常会需要查看某一进程是否监听了某一特定端口或者系统中所有监听端口列表等,这时候就需要用到系统提供的某些命令或文件了,下面总结了一些常用的获取系统网络连接的命令。

0x01 netstat命令

netstat命令是一个经典的查看网络,其常用命令如下:

# 查看系统中监听的tcp端口,且将进程信息也一并打印
netstat -ntpl
# 查看系统中所有tcp链接
netstat -natp

-n 不将IP、端口等解析为名称
-a 拉取所有socket(包括tcp、udp、unix sock等)
-p 显示连接关联的进程信息(可能需要root权限)
-t 只显示tcp连接
-u 只显示udp连接
-x 只显示unix sock连接
-l 只显示系统监听端口信息

查询系统中所有监听的tcp端口

0x02 ss命令

ss命令是netstat的替代命令(netstat已经被淘汰),由psutil包提供,新一点的发行版一般都自带了ss命令,如果没有,可以安装iproute包(apt install iprouteyum install iproute)解决。

ss命令的使用方式与netstat基本无异,这里就不在单独列出。

ss命令在使用-p参数的时候,会把子进程信息也打印出来。

当然ss功能不仅限于这些,你可以通过man ss查看ss更详细的用法

0x03 proc文件

某些情况下(docker容器),我们系统中并未安装netstatss等命令,而且也不方便去安装这些命令,好在linux中一切结文件,socket连接也不例外,所有这些信息你可以在/proc/net/目录下获取,相关的文件有:

  1. /proc/net/tcp:tcp连接信息文件
  2. /proc/net/tcp6:ipv6 tcp连接信息文件
  3. /proc/net/udp:udp连接信息文件
  4. /proc/net/udp6:ipv6 udp连接信息文件
  5. /proc/net/unix:unix sock连接信息文件

这里以**/proc/net/tcp**举例,说明一下该文件的大致结构:

下面以80端口为例:

5: 00000000:0050 00000000:0000 0A
22: 89428609:9F9B A5428609:0050 08
26: 89428609:9FA6 A5428609:0050 08
|      |      |      |      |   |--> connection state(套接字状态)
|      |      |      |      |------> remote TCP port number(远端端口,主机字节序)
|      |      |      |-------------> remote IPv4 address(远端IP,网络字节序)
|      |      |--------------------> local TCP port number(本地端口,主机字节序)
|      |---------------------------> local IPv4 address(本地IP,网络字节序)
|----------------------------------> number of entry

connection state(套接字状态),不同的数值代表不同的状态,参照如下:

TCP_ESTABLISHED:1   TCP_SYN_SENT:2
TCP_SYN_RECV:3      TCP_FIN_WAIT1:4
TCP_FIN_WAIT2:5     TCP_TIME_WAIT:6
TCP_CLOSE:7         TCP_CLOSE_WAIT:8
TCP_LAST_ACL:9      TCP_LISTEN:10
TCP_CLOSING:11

所以,如果想要查询系统监听端口,可以使用下面的一个简单命令查询:

awk -F '[ :]+' '{if ($7 = "0A") print $3":"strtonum("0x"$4)"tt"$5":"strtonum("0x"$6)" "$7}' /proc/net/tcp

java 网络字节序转主机字节序_Linux下查看网络连接相关推荐

  1. java转网络字节序_【转】网络字节序与主机字节序

    最近在项目开发过程中,需要在采用JAVA作为语言的服务器与采用C++作为语言的服务器间进行通信,这就涉及到这两种语言间数据类型的转换以及网络字节序与主机字节序的区别.该文主要说说网络字节序和主机字节序 ...

  2. java 网络字节序转主机字节序_C语言高级编程——网络编程技术

    了解什么是网络编程 熟悉七层网络模型 熟悉网络开发中使用到的函数 掌握TCP协议类程序开发 掌握UDP协议类程序开发 计算机本身是不会进行网络通信的,所以要想使通过软件进行网络通信,必须制定相应的规则 ...

  3. linux网络编程一:主机字节序与网络字节序的的判断

     linux网络编程一:主机字节序与网络字节序的的判断(1)现代CPU的累加器一次能装载至少4字节(32位),即一个整数.那么这4字节在内存中排列的顺序将影响它被累加器装载成的整数值,这就是字节序问题 ...

  4. php 字节序,Linux_Linux中网络字节序和主机字节序,主机字节序就是我们平常说的 - phpStudy...

    Linux中网络字节序和主机字节序 主机字节序就是我们平常说的大端和小端模式:不同的 CPU 有不同的字节序类型,这些字节序是指整数在内存中保存的顺序 这个叫做主机序.Big-Endian和Littl ...

  5. C#之网络字节序与主机字节序互转

    主机字节序转网络字节序 //加上两个字节长度,再发送byte[] bSend = new byte[buffer.Length + 2]; byte[] bLenth = BitConverter.G ...

  6. 网络字节序与主机字节序的相互转换

    1.网络字节序与主机字节序 在Linux网络编程中,经常碰到网络字节序与主机字节序的相互转换.说到网络字节序与主机字节序需要清晰了解以下几个概念. 字节序,顾名思义,指字节在内存中存储的顺序.比如一个 ...

  7. 网络字节序和主机字节序

    网络字节序说明 TCP/IP协议规定,网络数据流应采用大端字节序,即低地址高字节.例如上一节的UDP段格式,地址0-1是16位的源端口号,如果这个端口号是1000(0x3e8),则地址0是0x03,地 ...

  8. 网络字节序和主机字节序互转

    1.网络字节序转为主机字节序 //网络字节序转为主机字节序 uint64_t utils::Ntohll(uint64_t val) {if (__BYTE_ORDER == __LITTLE_END ...

  9. 【转】大端模式与小端模式、网络字节顺序与主机字节顺序 (经典)

    大端模式与小端模式 一.概念及详解 在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式. 先回顾两个关键词,MSB和LSB: ...

最新文章

  1. 医学假阴性?看看在机器学习中如何用来衡量分类模型的效果(附代码)
  2. react-dnd中context丢失解决方法
  3. 以色列研发出0经验AI,无需训练就能学会抠图
  4. PHP:第三章——PHP中控制函数的函数
  5. 程序员技术练级攻略(转载)
  6. 为linux服务器安装rkhunter工具
  7. Redis学习---(11)Redis 有序集合(sorted set)
  8. 深度讲解 Python 四大常用绘图库的“绘图原理”
  9. openssh常用命令记录
  10. 冒泡排序详解(Java实现)
  11. Redis 概述、Win 10 下载安装、redis.conf 配置文件详解
  12. innodb 删除隐藏列_MySQL进阶之InnoDB事务原子性实现原理
  13. AnimMontage(中文翻译)——UE4官方文档
  14. JavaWeb使用cookie实现记住密码,密码加密
  15. BlackBerry9700刷机
  16. 33. Pandas计算同比环比指标的3种方法
  17. 随机过程总结(1)--一些基本概念
  18. SpringCloud实战微服务之——Ribbon详解
  19. 基于python学生考勤_学生考勤系统(含源代码).pdf
  20. 某短视频的X-Gorgon,X-Ladon等加密

热门文章

  1. Java中的代理模式
  2. linux 启动tomcat 怎么显示日志文件,随着LINUX的启动,打开一个终端显示TOMCAT的日志文件,请问如何做到?...
  3. 阶乘之和计算_浅谈积分计算的技巧
  4. php分页类smary,php新闻内容分页实例(smarty 模板)
  5. 公用机房配置台式计算机,计算机网络在公共机房中的应用
  6. vs中实现声音录制并保存到指定文件_别人直播怎么录制视频?这三种方法你可以不知道...
  7. kafka c语言实现源码,Spring-Kafka源代码解析(消费者)
  8. 适合节日促销的海报设计PSD分层模板|夜晚烟花,浓浓喜庆氛围
  9. 《银花季刊》版式海报欣赏,看大咖的神操作
  10. 留住用户的APP弹窗设计素材模板