鍍金池/ 教程/ Linux/ 網(wǎng)絡(luò)工具
進(jìn)程管理工具
objdump 二進(jìn)制文件分析
scp 跨機(jī)遠(yuǎn)程拷貝
crontab 定時(shí)任務(wù)
readelf elf文件格式分析
pstack 跟蹤進(jìn)程棧
系統(tǒng)管理及IPC資源管理
vmstat 監(jiān)視內(nèi)存使用情況
strace 跟蹤進(jìn)程中的系統(tǒng)調(diào)用
sar 找出系統(tǒng)瓶頸的利器
ipcs 查詢(xún)進(jìn)程間通信狀態(tài)
ps 進(jìn)程查看器
性能優(yōu)化
wget 文件下載
top linux下的任務(wù)管理器
磁盤(pán)管理
size 查看程序內(nèi)存映像大小
free 查詢(xún)可用內(nèi)存
文件及目錄管理
iostat 監(jiān)視I/O子系統(tǒng)
性能監(jiān)控
程序構(gòu)建
學(xué)會(huì)使用命令幫助
gdb 調(diào)試?yán)?/span>
網(wǎng)絡(luò)工具
nm 目標(biāo)文件格式分析
lsof 一切皆文件
用戶(hù)管理工具
程序調(diào)試
ldd 查看程序依賴(lài)庫(kù)
文本處理

網(wǎng)絡(luò)工具

查詢(xún)網(wǎng)絡(luò)服務(wù)和端口

netstat 命令用于顯示各種網(wǎng)絡(luò)相關(guān)信息,如網(wǎng)絡(luò)連接,路由表,接口狀態(tài) (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。

列出所有端口 (包括監(jiān)聽(tīng)和未監(jiān)聽(tīng)的)::

netstat -a

列出所有 tcp 端口::

netstat -at

列出所有有監(jiān)聽(tīng)的服務(wù)狀態(tài)::

netstat -l

使用netstat工具查詢(xún)端口::

$netstat -antp | grep 6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      25501/redis-server

$ps 25501
  PID TTY      STAT   TIME COMMAND
25501 ?        Ssl   28:21 ./redis-server ./redis.conf

lsof(list open files)是一個(gè)列出當(dāng)前系統(tǒng)打開(kāi)文件的工具。在linux環(huán)境下,任何事物都以文件的形式存在,通過(guò)文件不僅僅可以訪(fǎng)問(wèn)常規(guī)數(shù)據(jù),還可以訪(fǎng)問(wèn)網(wǎng)絡(luò)連接和硬件。所以如傳輸控制協(xié)議 (TCP) 和用戶(hù)數(shù)據(jù)報(bào)協(xié)議 (UDP) 套接字等; 在查詢(xún)網(wǎng)絡(luò)端口時(shí),經(jīng)常會(huì)用到這個(gè)工具。

查詢(xún)7902端口現(xiàn)在運(yùn)行什么程序::

#分為兩步
#第一步,查詢(xún)使用該端口的進(jìn)程的PID;
$lsof -i:7902
COMMAND   PID   USER   FD   TYPE    DEVICE SIZE NODE NAME
WSL     30294 tuapp    4u  IPv4 447684086       TCP 10.6.50.37:tnos-dp (LISTEN)

#查到30294
#使用ps工具查詢(xún)進(jìn)程詳情:
$ps -fe | grep 30294
tdev5  30294 26160  0 Sep10 ?        01:10:50 tdesl -k 43476
root     22781 22698  0 00:54 pts/20   00:00:00 grep 11554

.. note::

以上介紹lsof關(guān)于網(wǎng)絡(luò)方面的應(yīng)用,這個(gè)工具非常強(qiáng)大,需要好好掌握,詳見(jiàn) :ref:`lsof` ;

網(wǎng)絡(luò)路由

查看路由狀態(tài)::

$route -n

發(fā)送ping包到地址IP::

$ping IP

探測(cè)前往地址IP的路由路徑::

$traceroute IP

DNS查詢(xún),尋找域名domain對(duì)應(yīng)的IP::

$host domain

反向DNS查詢(xún)::

$host IP

鏡像下載

直接下載文件或者網(wǎng)頁(yè)::

wget url

常用選項(xiàng):

  • --limit-rate :下載限速
  • -o:指定日志文件;輸出都寫(xiě)入日志;
  • -c:斷點(diǎn)續(xù)傳

ftp sftp lftp ssh

SSH登陸::

$ssh ID@host

ssh登陸遠(yuǎn)程服務(wù)器host,ID為用戶(hù)名。

ftp/sftp文件傳輸::

$sftp ID@host

登陸服務(wù)器host,ID為用戶(hù)名。sftp登陸后,可以使用下面的命令進(jìn)一步操作:

  • get filename # 下載文件
  • put filename # 上傳文件
  • ls # 列出host上當(dāng)前路徑的所有文件
  • cd # 在host上更改當(dāng)前路徑
  • lls # 列出本地主機(jī)上當(dāng)前路徑的所有文件
  • lcd # 在本地主機(jī)更改當(dāng)前路徑

lftp同步文件夾(類(lèi)似rsync工具)::

lftp -u user:pass host
lftp user@host:~> mirror -n

網(wǎng)絡(luò)復(fù)制

將本地localpath指向的文件上傳到遠(yuǎn)程主機(jī)的path路徑::

$scp localpath ID@host:path

以ssh協(xié)議,遍歷下載path路徑下的整個(gè)文件系統(tǒng),到本地的localpath::

$scp -r ID@site:path localpath

總結(jié)

netstat lsof route ping host wget sftp scp