网络命令


文档摘要

网络命令 Linux网络工具列表 常见系统管理员文件和命令 #### 网络状态命令 -- 每N秒运行一次,显示配置接口上的错误统计和计数。 -- 显示套接字端口和状态。 -- 协议(如TCP等)的计数和错误。 -- 路由表转储。 -- 列出所有接口并提供三字母接口名称。 如果使用-n标志,主机地址将以数字形式显示,避免DNS查找,这在某些情况下可能会更快。与其他开关结合使用。 #### 网络接口命令 -- 显示所有接口。 -- 配置特定接口,例如ln0。 -- 设置接口参数。仅限root用户。通常在引导时通过/etc/rc设置根目录下的IP地址、子网等连接信息。 -- 向主机发送ICMP回显消息(一个数据包)。这可能一直持续到你按下Control-C。

网络命令

Linux网络工具列表

常见系统管理员文件和命令

  • 网络状态命令

    • netstat <seconds> -- 每N秒运行一次,显示配置接口上的错误统计和计数。

    • netstat –a -- 显示套接字端口和状态。

    • netstat -s -- 协议(如TCP等)的计数和错误。

    • netstat -r -- 路由表转储。

    • netstat –i -- 列出所有接口并提供三字母接口名称。

  • 如果使用-n标志,主机地址将以数字形式显示,避免DNS查找,这在某些情况下可能会更快。与其他开关结合使用。

  • 网络接口命令

    • ifconfig –a -- 显示所有接口。

    • ifconfig <interface name> -- 配置特定接口,例如ln0。

    • ifconfig <interface name> <params> -- 设置接口参数。仅限root用户。通常在引导时通过/etc/rc*设置根目录下的IP地址、子网等连接信息。

    • ping <host> -- 向主机发送ICMP回显消息(一个数据包)。这可能一直持续到你按下Control-C。Ping意味着通过ICMP从你的机器发送数据包,并在IP层进行回显。ping告诉你操作系统是否启动;但并不能告诉你inetd或其他守护进程是否正在运行。

    • telnet host <port> -- 在给定端口号与“主机”通信。默认情况下,telnet端口为23。查看/etc/services文件以获取哪些服务在哪些端口上使用。一些示例:7 - 回声端口,使用控制-]退出;25 - SMTP,用于发送邮件;79 - Finger。

    • telnet ip-number -- 可以用来判断inetd是否正常工作。使用telnet时,可以使用IP号而不是主机名。如果使用IP号而非telnet主机名,则表明你的名字服务器有问题。如果你可以ping通,但不能telnet,那可能是由于无法启动进程或inetd配置问题。

  • 路由

    • netstat –r -- 打印路由表。路由表存储在内核中,并由ip命令用于将数据包路由到非本地网络。
    • route ... params -- route命令用于在路由表中设置静态(手动设置的非动态)路由路径。它通常在/etc/rc脚本中的引导时使用。它可以用于设置默认路由;即当不确定时,将所有数据包发送到某个本地网关。一般需要root权限。
    • routed -- BSD守护进程,用于动态路由。在引导时启动。这会运行RIP路由协议。需要root权限。没有root访问权限是无法运行这个程序的。
    • gated -- gated是一个替代RIP的路由守护进程。它在一个地方使用OSPF、EGP和RIP协议。需要root权限。
    • traceroute <host> -- 有助于跟踪IP数据包的路由。数据包会导致中间所有网关返回消息。
  • Arp

    • arp –a -- 打印arp表。Arp用于将IP地址转换为以太网地址。root可以添加和删除arp条目。删除它们很有用,如果arp条目不正确或有误。root明确添加的arp条目是永久性的——也可以通过代理添加。arp条目存储在内核中并动态管理。arp条目被缓存并在20分钟后超时并正常删除。
  • NFS/NIS - 网络文件系统/黄页

    • df . -- 显示当前目录的文件系统和挂载点。
    • df -t nfs -- 显示NFS挂载。
    • mount -- 用于挂载文件系统,仅限root用户。/etc/fstab包含引导时执行的挂载。/etc/exports包含导出的挂载点。/etc/mtab包含mount构建的挂载表。
  • 其他有用的命令

    • ps aux or ps alx -- 系统中运行的进程列表,不同系统上的用法可能有所不同。“ps -aux | grep <字符串>”经常用于按字符串过滤输出。
    • ps -- 在前台列出您的进程。
    • nslookup (or nslookup <host>) -- 向DNS服务器查询将IP地址转换为名称,反之亦然。
    • ftp <host> -- 将文件传输到主机。通常可以使用登录="匿名",密码="游客"。
    • rcp <switches> system:file system:file -- rcp在一台系统和另一台系统之间执行远程复制,其使用方式类似于Unix cp。rcp和rsh使用受inetd控制的rshd。rshd的安全协议非常弱,并使用.rhosts和/etc/hosts.equiv文件。由于安全性如此之弱,这些协议经常被禁止在系统上使用(例如,在rhosts中添加"*",任何人都可以登录到您的账户)。
    • rsh host <command> -- BSD远程shell。
    • rlogin <host> -l <login> -- 使用虚拟终端登录到主机,类似于telnet。
  • 重要文件

    • /etc/hosts - 名称到IP地址
    • /etc/networks - 网络名称到IP地址
    • /etc/protocols - 协议名称到协议编号
    • /etc/services - TCP/UDP服务名称到端口号

netstat (ss)

  • 显示/proc/net文件的内容。它与Linux网络子系统一起工作,会告诉你端口的状态,即打开、关闭、等待、伪装连接等。它还会显示其他各种内容。有很多不同的选项。

  • Netstat(网络统计)命令显示连接信息、路由表信息等。要显示路由表信息,请使用-r选项。

  • 示例输出:

Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 0 127.0.0.1.62132 127.0.0.1.http ESTABLISHED tcp4 0 0 127.0.0.1.http * LISTEN

tcpdump

这是一个嗅探器,一个从网络接口捕获数据包并为你解释它们的程序。它理解所有基本的互联网协议,并可用于保存整个数据包以供以后检查。

ping

ping命令(得名于主动声纳系统的声响)向你在命令行上指定的主机发送回声请求,并列出收到的响应及其往返时间。PING(Packet INternet Groper)命令是测试两个节点之间连通性的最好方法。无论是局域网(LAN)还是广域网(WAN)。Ping使用ICMP(Internet Control Message Protocol)与其他设备通信。你可以使用以下命令ping主机名或IP地址。

$ ping google.com PING google.com (216.58.198.78): 56 data bytes 64 bytes from 216.58.198.78: icmp_seq=0 ttl=46 time=6.108 ms 64 bytes from 216.58.198.78: icmp_seq=1 ttl=46 time=6.222 ms ^C --- google.com ping statistics --- 2 packets transmitted, 2 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 6.108/6.165/6.222/0.057 ms

traceroute

traceroute将显示数据包的路由。它试图列出你的数据包在到达给定目的地的过程中通过的所有主机。另外看看xtraceroute(该程序的几个图形等价物之一)。traceroute是一个网络故障排除工具,它显示到达目的地所需的跳数,并确定数据包的旅行路径。下面我们将跟踪到全球DNS服务器IP地址的路由,并能够到达目的地,同时显示数据包的路径。

$ traceroute -I google.com traceroute to google.com (216.58.198.78), 128 hops max, 72 byte packets 1 52.93.7.1 (52.93.7.1) 6.361 ms 6.229 ms 6.106 ms 2 72.14.215.85 (72.14.215.85) 5.939 ms 5.460 ms 5.914 ms 3 209.85.252.198 (209.85.252.198) 6.012 ms 5.694 ms 5.761 ms 4 64.233.174.27 (64.233.174.27) 5.079 ms 4.776 ms 4.662 ms 5 dub08s02-in-f78.1e100.net (216.58.198.78) 6.650 ms 5.509 ms 5.596 ms

tracepath

tracepath执行的功能与traceroute非常相似,主要区别在于tracepath不接受复杂的选项。

nmap

“网络探索工具和安全扫描器”。nmap是一个非常高级的网络工具,用于查询机器(本地或远程)是否在线以及这些机器上的哪些端口是开放的。一些功能只有在Nmap以特权运行时才会激活。更多信息:https://nmap.org

# Try to determine whether the specified hosts are up and what are their names: nmap -sn {{ip_or_hostname}} {{optional_another_address}} # Like above, but also run a default 1000-port TCP scan if host seems up: nmap {{ip_or_hostname}} {{optional_another_address}} # Also enable scripts, service detection, OS fingerprinting and traceroute: nmap -A {{address_or_addresses}} # Assume good network connection and speed up execution: nmap -T4 {{address_or_addresses}} # Scan a specific list of ports (use -p- for all ports 1-65535): nmap -p {{port1,port2,…,portN}} {{address_or_addresses}} # Perform TCP and UDP scanning (use -sU for UDP only, -sZ for SCTP, -sO for IP): nmap -sSU {{address_or_addresses}} # Perform TLS cipher scan against a host to determine supported ciphers and SSL/TLS protocols: nmap --script ssl-enum-ciphers {{address_or_addresses}} -p 443 # Perform full port, service, version detection scan with all default NSE scripts active against a host to determin weaknesses and info: nmap -sC -sV {{address_or_addresses}}

dig

dig(域名信息抓取)查询DNS相关的信息,如A记录、CNAME、MX记录等。此命令主要用于排查DNS相关的问题。

$ dig amazon.com ; <<>> DiG 9.8.3-P1 <<>> amazon.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30832 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;amazon.com. IN A ;; ANSWER SECTION: amazon.com. 17 IN A 54.239.25.200 amazon.com. 17 IN A 54.239.25.208 amazon.com. 17 IN A 54.239.26.128 amazon.com. 17 IN A 54.239.17.6 amazon.com. 17 IN A 54.239.17.7 amazon.com. 17 IN A 54.239.25.192 ;; Query time: 3 msec ;; SERVER: 10.78.97.142#53(10.78.97.142) ;; WHEN: Thu Dec 29 13:56:22 2016 ;; MSG SIZE rcvd: 124

nslookup

nslookup命令也用于查找DNS相关信息。以下示例显示了tecmint.com的A记录(IP地址)。

nslookup amazon.com Server: 10.78.97.142 Address: 10.78.97.142#53 Non-authoritative answer: Name: amazon.com Address: 54.239.25.192 Name: amazon.com Address: 54.239.25.200 Name: amazon.com Address: 54.239.25.208 Name: amazon.com Address: 54.239.26.128 Name: amazon.com Address: 54.239.17.6 Name: amazon.com Address: 54.239.17.7

host

host命令用于在IPv4或IPv6中查找名称到IP或IP到名称,并查询DNS记录。

$ host amazon.com amazon.com has address 54.239.17.6 amazon.com has address 54.239.17.7 amazon.com has address 54.239.25.192 amazon.com has address 54.239.25.200 amazon.com has address 54.239.25.208 amazon.com has address 54.239.26.128 amazon.com mail is handled by 10 amazon-smtp.amazon.com.

hostname

hostname用于在网络中标识。执行hostname命令以查看您计算机的主机名。您可以永久地在/etc/sysconfig/network中设置主机名。设置正确的主机名后需要重新启动计算机。

$ hostname -f miglen.development.box

arp

ARP(地址解析协议)用于查看/添加内核ARP表的内容。要查看默认表,请使用以下命令。

配置

ifconfig

此命令用于配置网络接口,或显示其当前配置。除了使用“up”和“down”设置激活和停用接口外,此命令对于在没有ifcfg脚本的情况下设置接口的地址信息也是必要的。

  • ifup - 使用ifup device-name通过脚本(其中包含默认网络设置)使接口启动。只需键入ifup即可获得帮助。
  • ifdown - 使用ifdown device-name通过脚本(其中包含默认网络设置)使接口停止。只需键入ifdown即可获得帮助。
  • ifcfg - 使用ifcfg配置特定接口。只需键入ifcfg即可获得帮助。

route

route命令用于显示或修改路由表。要将网关设为默认,请输入:

$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.31.16.1 0.0.0.0 UG 0 0 0 eth0 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 172.31.16.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0

iwconfig

iwconfig命令用于在Linux中配置无线网络接口。您可以查看和设置基本的Wi-Fi细节,如SSID、信道和加密。您可以参考iwconfig的手册页以了解更多信息。

ip

$ watch ss -tp # Network connections
$ netstat -ant # Tcp connections -anu=udp
$ netstat -tulpn # Connections with PIDs
$ lsof -i # Established connections
$ smb:// ip /share # Access windows smb share
share user x.x.x.x c # Mount Windows share
$ smbclient -0 user\\ ip \ share # SMB connect
$ ifconfig eth# ip / cidr # Set IP and netmask
$ ifconfig ethO:l ip / cidr # Set virtual interface
$ route add default gw gw_ip # Set GW
$ ifconfig eth# mtu [size] # Change MTU size
$ export MAC=xx: xx: xx: xx: xx: xx # Change MAC
$ ifconfig int hw ether MAC # Change MAC
$ macchanger -m MAC int # Backtrack MAC changer
$ iwlist int scan # Built-in wifi scanner
$ dig -x ip # Domain lookup for IP
$ host ip # Domain lookup for IP
$ host -t SRV _ service _tcp.url.com # Domain SRV lookup
$ dig @ ip domain -t AXFR # DNS Zone Xfer
$ host -l domain namesvr # DNS Zone Xfer
$ ip xfrm state list # Print existing VPN keys
$ ip addr add ip / cidr dev ethO # Adds 'hidden' interface
$ /var/log/messages | grep DHCP # List DHCP assignments
$ tcpkill host ip and port port # Block ip:port
$ echo "1" /proc/sys/net/ipv4/ip_forward # Turn on IP Forwarding
$ echo "nameserver x.x.x.x" /etc/resolv.conf # Add DNS Server

- ```arpwatch``` -- 带宽监视器和速率估计器。 - ``` bmon``` -- 实时网络带宽监视器。 - ```bwm-ng``` -- 使用URL传输数据。(或者试试httpie) - ```curl``` -- 捕获网络流量,使用统计信息。 - ```darkstat``` -- DHCP客户端。 - ```dhclient``` -- 查询DNS服务器以获取信息。 - ```dig``` -- 替代vmstat、iostat、mpstat、netstat和ifstat的工具。 - ```dstat``` -- 控制网络驱动和硬件的实用程序。 - ```gated``` -- 网关路由守护进程。 - ```ethtool``` -- DNS查询工具。 - ```gated``` -- TCP/IP数据包组装/分析器。 - ```host``` -- 显示带宽和总数据传输量。 - ```hping``` -- 报告网络接口带宽。 - ```ibmonitor``` -- 显示带宽使用情况。 - ```ifstat``` -- 具有更多功能的ifconfig(net-tools)替代品。 - ```iftop``` -- 网络带宽测量工具。(以上截图Stacklinux VPS) - ```ip ``` -- 控制TCP/IP的实用程序集合。 - ```iperf3``` -- 控制网络流量。 - ```iproute2``` -- 网络带宽监测工具。 - ```iptables``` -- 网络诊断工具。 - ```IPTraf``` -- 包括:arp、hostname、ifconfig、- netstat、rarp、route、plipconfig、slattach、mii-tool、iptunnel和ipmaddr。 - ```iputils``` -- 网络nc的改进实现。 - ```iw``` -- 用于读写网络连接的实用程序。 - ```jwhois (whois)``` -- 小型的'net top'工具。 - ```“lsof -i”``` -- 网络带宽测试。 - ```mtr``` -- Linux网络日常使用的瑞士军刀。 - ```net-tools``` -- 打印网络连接、路由表、统计等。 - ```ncat``` -- 网络连接监控。 - ```netcat``` -- 应用于网络层的grep。 - ```nethogs``` -- 显示网络使用情况。 - ```Netperf``` -- 网络发现和安全审计。 - ```netsniff-ng``` -- 控制NetworkManager并报告网络状态的命令行工具。 - ```netstat``` -- 通过控制NetworkManager提供文本界面来配置网络。 - ```netwatch``` -- 交互式查询Internet名称服务器。 - ```ngrep``` -- 向网络主机发送ICMP回显请求。 - ```nload``` -- 显示/操纵IP路由表。 - ```nmap``` -- 网络负载监视器。 - ```nmcli``` -- 网络入侵检测和预防系统。 - ```nmtui``` -- 跟踪网络延迟。 - ```nslookup``` -- 在两对双向字节流之间建立连接并传输数据。 - ```ping``` -- 测量和显示跨网络的数据传输率。 - ```route``` -- 使用speedtest.net测试互联网带宽。 - ```slurm``` -- 工具用于调查套接字。 - ```snort``` -- 在不安全的网络上进行安全系统管理和文件传输。 - ```smokeping``` -- 命令行数据包分析器。 - ```socat``` -- 显示网络接口上的TCP连接信息。 - ```speedometer``` -- 用户界面到TELNET协议。 - ```speedtest-cli``` -- 功能与traceroute非常相似。 - ```ss``` -- 打印路由数据包跟踪到网络主机。 - ```ssh``` -- 网络流量监视器。 - ```tcpdump``` -- 连接转发器,从/到Web套接字到/从常规套接字,类似于socat。 - ```tcptrack``` -- 使用HTTP、HTTPS、FTP和FTPS检索文件。 - Wireless Tools for Linux -- 包括iwconfig、iwlist、iwspy、iwpriv和ifrename。 - ```telnet``` -- 网络协议分析器。 - ```tracepath``` -- 网络连接 - ```traceroute``` -- TCP连接 - ```vnStat``` -- UDP连接 - ```websocat``` -- 带PID的连接 - ```wget``` -- 建立连接 - ```Wireshark``` -- 访问Windows SMB共享 - ```watch ss -tp ``` -- 挂载Windows共享 - ```netstat -ant ``` -- 设置IP和子网掩码 - ```netstat -anu``` -- 设置虚拟接口 - ```netstat -tulpn``` -- 设置默认网关 - ```lsof -i``` -- 更改MTU大小 - ```smb:/­/<I­P>/­<SH­ARE­NAM­E> ``` -- 更改MAC地址 - ```share <US­ERN­AME> <IP> c$``` -- 更改MAC地址 - ```ifconfig <IN­TER­FAC­E> <IP­/CI­DR>``` -- 域名查找IP - ```ifconfig eth0:1 <IP­/CI­DR>``` -- 域名查找IP - ```route add default gw <IP­>``` -- DNS区域传输 - ```ifconfig <IN­TER­FAC­E> mtu <SI­ZE>``` -- DNS区域传输 - ```export MAC=<M­ACA­DDR­ESS­> ``` -- 启用IP转发 - ```ifconfig int hw ether <MA­CAD­DRE­SS> ``` -- 添加DNS服务器 **声明**: 本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。

发布者: 作者: 转发
评论区 (0)
U