Menu

Tree [026499] master /
 History

HTTPS access


File Date Author Commit
 data 2017-09-13 chipmunk-sm chipmunk-sm [8eddf6] To avoid annoying Kubuntu bug (17.04, 17.10) Ap...
 debian 2017-09-13 chipmunk-sm chipmunk-sm [8eddf6] To avoid annoying Kubuntu bug (17.04, 17.10) Ap...
 source 2017-11-10 chipmunk-sm chipmunk-sm [19787e] avoid reinitialization on show/hide form
 translations 2017-08-24 chipmunk-sm chipmunk-sm [a91992] update command loader code; add defined.h
 .gitignore 2017-06-18 chipmunk-sm chipmunk-sm [cf5434] code initial commit
 ISSUE_TEMPLATE.md 2018-01-29 chipmunk-sm chipmunk-sm [d976b3] Update ISSUE_TEMPLATE.md
 LICENSE 2017-06-18 chipmunk-sm chipmunk-sm [cb8a05] Initial commit
 README.md 2018-08-06 chipmunk-sm chipmunk-sm [026499] Update README.md
 main.cpp 2017-08-12 chipmunk-sm chipmunk-sm [1bf58f] add translations
 mainwindow.cpp 2017-11-10 chipmunk-sm chipmunk-sm [19787e] avoid reinitialization on show/hide form
 mainwindow.h 2017-08-19 chipmunk-sm chipmunk-sm [7a0a25] + label Visible / Total
 mainwindow.ui 2017-08-19 chipmunk-sm chipmunk-sm [7a0a25] + label Visible / Total
 tcpview.pro 2017-08-24 chipmunk-sm chipmunk-sm [a91992] update command loader code; add defined.h
 tcpview.qrc 2017-08-13 chipmunk-sm chipmunk-sm [d1c8a3] update translations list & code

Read Me

tcpview

Graphical network connections viewer for Linux

To get the last release version, please use the PPA:

Bionic, Artful, Zesty, Xenial
https://launchpad.net/~chipmunk.sm/+archive/ubuntu/ppa

$ sudo add-apt-repository ppa:chipmunk.sm/ppa
$ sudo apt-get update
$ sudo apt-get install tcpview

Home page:

https://github.com/chipmunk-sm/tcpview

screenshot_201708111

Description

TcpView For Linux. Touch screen friendly design graphical network connections viewer for Linux.

Names  Show command line, name of the process that owns endpoint.
Pause - Stop loading new records
Record - Do not delete old records.
Copy - Copy the data of a row to the clipboard
Save  Export data to a CSV or XML file
Whois - Service gives you the ability to find out the registered domain holder.
Zoom slider - Will help you select appropriate font size.

How does it work?

"Base module"

Read and parse the information available from

    /proc/net/tcp
    /proc/net/udp
    /proc/net/tcp6
    /proc/net/udp6
    /proc/net/raw
    /proc/net/raw6

The data used from output is:

sl - The number of the line in the output listing.
local_address
rem_address
st - The socket status.
Uid - The ID of the user that owns the socket.
Inode - A cryptic-looking number that identifies the socket to the Linux virtual filesystem.

"Root module"

Loop through /proc/pid/fd/ for collect "inode list" and associated "command line" data

How to build

Install the build-dependencies on the host system

$ sudo apt-get install build-essential
$ sudo apt-get install qtcreator
$ sudo apt-get install qt5-default
$ sudo apt-get install uuid-dev

Clone

Open terminal in your preferred folder:

$ git clone https://github.com/chipmunk-sm/tcpview.git

Build

Either open tcpview.pro with Qt Creator for editing and building, or from the terminal:

$ cd tcpview
$ qmake
$ make

Run tcpview

$ ./tcpview

Translation

Use the Qt Linguist tool to translate text

$ sudo apt-get install qttools5-dev-tools

Open tcpview folder with terminal and update translations:

$ lupdate -no-obsolete -verbose -pro tcpview.pro

Open all editable translations:

$ cd translations
$ linguist language_en.ts language_cs.ts language_de.ts language_fr.ts language_ja.ts language_pl.ts language_ru.ts language_sl.ts language_zh_CN.ts language_zh_TW.ts
$ cd ..

And update .qm files:

$ lrelease -removeidentical -compress tcpview.pro

Finally, rebuild tcpview.

Adding new translations

Add a new translations xx.ts file to tcpview.pro, rebuild tcpview and add your new xx.qm to tcpview.qrc. Finally rebuild tcpview.