Linux网络工具


netstat、sof、route、ping、hos、 wget、sftp、scp的使用介绍

【查询网络服务和端口】

    netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

    列出所有端口 (包括监听和未监听的):

[root@wzxaini9 ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:33831           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:37038           0.0.0.0:*               LISTEN
......
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     23107    /var/lib/gssproxy/default.sock
unix  2      [ ACC ]     STREAM     LISTENING     23108    /run/gssproxy.sock
......

    列出所有 tcp 端口:

[root@wzxaini9 ~]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:33831           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:37038           0.0.0.0:*               LISTEN
......

    列出所有有监听的服务状态:

[root@wzxaini9 ~]# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:33831           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:37038           0.0.0.0:*               LISTEN
......

    使用netstat工具查询端口:

[root@wzxaini9 ~]# netstat -antp | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3256/nginx: master
[root@wzxaini9 ~]# ps 3256
  PID TTY      STAT   TIME COMMAND
 3256 ?        Ss     0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

    lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等; 在查询网络端口时,经常会用到这个工具。

    查询7902端口现在运行什么程序:

        #分为两步

        #第一步,查询使用该端口的进程的PID;

[root@wzxaini9 ~]# 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工具查询进程详情:

[root@wzxaini9 ~]# 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

注:以上介绍lsof关于网络方面的应用,这个工具非常强大,需要好好掌握


【网络路由】

    查看路由状态:

[root@wzxaini9 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.21.0.1      0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.21.0.0      0.0.0.0         255.255.240.0   U     0      0        0 eth0

    发送ping包到地址IP:

[root@wzxaini9 ~]# ping 172.21.0.11
PING 172.21.0.8 (172.21.0.11) 56(84) bytes of data.
64 bytes from 172.21.0.11: icmp_seq=1 ttl=64 time=0.018 ms

    探测前往地址IP的路由路径:

[root@wzxaini9 ~]# traceroute 172.21.0.11
traceroute to 172.21.0.11 (172.21.0.11), 30 hops max, 60 byte packets
 1  wzxaini9 (172.21.0.11)  0.030 ms  0.007 ms  0.006 ms

    DNS查询,寻找域名domain对应的IP:

[root@wzxaini9 ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 220.181.111.37
www.a.shifen.com has address 220.181.112.244

    反向DNS查询:

[root@wzxaini9 ~]# host 127.0.0.1
1.0.0.127.in-addr.arpa domain name pointer localhost.


【镜像下载】

    直接下载文件或者网页:

[root@wzxaini9 ~]# wget https://www.google.com

    常用选项:

    ·    –limit-rate :下载限速

    ·    -o:指定日志文件;输出都写入日志;

    ·    -c:断点续传


【ftp sftp lftp ssh】

    SSH登陆:

[root@wzxaini9 ~]# ssh root@127.0.0.1

    ssh登陆远程服务器127.0.0.1,root为用户名。

    ftp/sftp文件传输:

[root@wzxaini9 ~]# sftp root@127.0.0.1

    登陆服务器host,ID为用户名。sftp登陆后,可以使用下面的命令进一步操作:

    ·    get filename # 下载文件

    ·    put filename # 上传文件

    ·    ls # 列出host上当前路径的所有文件

    ·    cd # 在host上更改当前路径

    ·    lls # 列出本地主机上当前路径的所有文件

    ·    lcd # 在本地主机更改当前路径

    lftp同步文件夹(类似rsync工具):

[root@wzxaini9 ~]# lftp -u user:pass host
[root@wzxaini9 ~]# lftp user@host:~> mirror -n


【网络复制】

    将本地localpath指向的文件上传到远程主机的path路径:

[root@wzxaini9 ~]# scp localpath ID@host:path

    以ssh协议,遍历下载path路径下的整个文件系统,到本地的localpath:

[root@wzxaini9 ~]# scp -r ID@site:path localpath


上一篇 下一篇

评论

登录后可发表评论