Linux网络工具:跟踪 TCP 连接的命令tcptrack命令详解

目录

一、概述

[二、 用法](#二、 用法)

1、基本用法

2、选项

三、安装

1、说明

[2、Debian 系统中安装](#2、Debian 系统中安装)

3、centos中安装

(1)下载源代码

(2)编译源代码

(3)安装

四、示例和输出

[1. 显示所有 TCP 连接](#1. 显示所有 TCP 连接)

[2. 只跟踪特定网络接口上的连接](#2. 只跟踪特定网络接口上的连接)

3.定时刷新并显示连接的总数

[4. 只跟踪由某个进程创建的连接](#4. 只跟踪由某个进程创建的连接)

[5. 不显示主机名,以加快显示速度](#5. 不显示主机名,以加快显示速度)

6、输出

五、注意事项


一、概述

tcptrack 是一个在 Linux 系统上用来跟踪 TCP 连接的命令行工具。它允许实时地查看系统上正在进行的 TCP 连接,特别是那些由特定的进程或服务创建的连接。这个工具对于网络管理员、系统管理员和开发者来说非常有用,因为它提供了一种简单的方法来监视网络活动。

二、 用法

1、基本用法

tcptrack 的基本用法是简单地运行它而不带任何参数,这将显示系统上当前的所有 TCP 连接。

2、选项

tcptrack 提供了许多选项来定制其输出和行为。 常见选项如下:

-i <interface>:只跟踪指定网络接口上的连接。

-p <pid>:只跟踪由指定进程 ID 创建的连接。

-s <seconds>:刷新间隔(以秒为单位)。默认是 2 秒。

-n:不解析主机名。这可以加快显示速度,尤其是在有大量连接时。

-d:显示连接的总数。

-t:显示 TCP 连接的时间戳。

-T <template>:使用指定的输出模板。

三、安装

1、说明

tcptrack 通常不是 Linux 发行版的标准包之一,但可以从源代码编译它,或者使用包管理器(如 apt、yum、dnf、pacman 等)来安装它(如果可用)。

2、Debian 系统中安装

在基于 Debian 的系统上,可以尝试使用 apt-get 来安装(但请注意,它可能不在默认仓库中):

sudo apt-get install tcptrack

如果不可用,可能需要查找第三方仓库或从源代码编译它。

3、centos中安装

在CentOS中,tcptrack 通常不在默认的软件仓库中提供。因此,需要从源代码编译或者使用第三方软件仓库来安装它。以下是从源代码编译安装 tcptrack 的步骤:

(1)下载源代码

首先,需要从 tcptrack 的官方源代码库或者某个 mirrors 网站下载源代码。可以使用 wget 或者 curl 命令来下载源代码包。

wget http://www.ijs.si/software/tcptrack/tcptrack-1.4.tar.gz

(2)编译源代码

下载源代码后,解压并进入解压后的目录,然后编译源代码。可能需要安装一些编译工具和依赖库。

tar zxvf tcptrack-1.4.tar.gz

cd tcptrack-1.4

./configure

make

在 configure 阶段,如果系统提示缺少某些依赖库,可以根据提示安装相应的包。例如,可能需要安装 libpcap 开发包。

yum install libpcap-devel

(3)安装

编译完成后,安装 tcptrack。

sudo make install

四、示例和输出

1. 显示所有 TCP 连接

使用如下命令:

tcptrack

2. 只跟踪特定网络接口上的连接

只跟踪特定网络接口eth0上的连接,使用如下命令:

tcptrack -i eth0

实际操作后,显示如下:

复制代码
tcptrack -i eth0  
  
Connections:  1074, TCP: 1069, UDP: 0, ICMP: 0, Other: 5  
Listening:    106, Local: 866, Remote: 102  
  
  TIME     SOURCE IP        DEST IP        STATE       PROT LOCAL PORT  REMOTE PORT  
20:01:23 192.168.1.10   8.8.8.8       ESTABLISHED TCP   54321     80  
20:01:23 10.0.0.1       172.16.0.1    LISTEN      TCP   22        0  
20:01:23 172.16.0.1     10.0.0.1      ESTABLISHED TCP   22        34567  

3.定时刷新并显示连接的总数

每 1 秒刷新一次,并显示连接的总数,使用如下命令:

tcptrack -s 1 -d

4. 只跟踪由某个进程创建的连接

只跟踪由进程 ID 1234 创建的连接,使用如下命令:

tcptrack -p 1234

5. 不显示主机名,以加快显示速度

使用如下命令:

tcptrack -n

6、输出

tcptrack 的输出通常包括连接的状态(如 ESTABLISHED、LISTEN 等)、本地和远程地址、端口号以及任何相关的进程信息(如果可用)。输出会定期刷新,以显示连接状态的任何变化。

五、注意事项

tcptrack 需要足够的权限来访问系统上的网络连接信息。因此,可能需要以 root 用户身份运行它,或者使用 sudo。

由于 tcptrack 是基于 TCP 连接状态的,因此它可能无法跟踪某些类型的网络活动,如 UDP 数据包或 ICMP 消息。对于这些类型的网络活动,可能需要使用其他工具(如 tcpdump 或 nmap)来进行监视和分析。


文章正下方可以看到我的联系方式:鼠标"点击" 下面的 "威迪斯特-就是video system微信名片 "字样,就会出现我的二维码,欢迎沟通探讨。


相关推荐
wanhengidc3 分钟前
云手机 热血传奇游戏挂机
服务器·网络·安全·游戏·智能手机
不愿透露姓名的大鹏5 分钟前
Oracle Undo空间爆满急救指南(含在线切换+更优方案+避坑指南)
linux·运维·数据库·oracle
艾莉丝努力练剑8 分钟前
【Linux线程】Linux系统多线程(三):Linux线程 VS 进程,线程控制
java·linux·运维·服务器·c++·学习·ubuntu
浮芷.9 分钟前
Flutter 框架跨平台鸿蒙开发 - 智能家电故障诊断应用
运维·服务器·科技·flutter·华为·harmonyos·鸿蒙
栈低来信11 分钟前
VFS虚拟文件系统
linux
jekc86815 分钟前
Ubuntu-GitLab
服务器·ubuntu·gitlab
x-cmd17 分钟前
macOS 内存模型深度解析 | x free 设计哲学
linux·macos·内存·策略模式·free·x-cmd
航Hang*18 分钟前
网络安全技术基础——第3章:网络攻击技术
运维·网络·笔记·安全·web安全·php
独小乐19 分钟前
007.GNU C内联汇编杂谈|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·汇编·单片机·嵌入式硬件·arm·gnu
笨笨饿22 分钟前
42_C语言查找算法
linux·服务器·c语言·人工智能·mcu·学习方法·嵌入式软件