查看系统的网卡和IP地址信息
gaowanlu@DESKTOP-QDLGRDB:/mnt/c/Users/gaowanlu/Desktop/MyProject/note/testcode$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.29.94.203 netmask 255.255.240.0 broadcast 172.29.95.255
inet6 fe80::215:5dff:feb8:ec1d prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:b8:ec:1d txqueuelen 1000 (Ethernet)
RX packets 18422 bytes 7165055 (7.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 13430 bytes 7452268 (7.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 277227 bytes 241178834 (241.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 277227 bytes 241178834 (241.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
部分选项
$ifconfig -s #精简列表,默认只显示已经激活的网卡信息,-a选项包含未激活的
$ifconfig 网卡名 up #激活网卡
$ifconfig 网卡名 down #禁用网卡
$ifconfig 网卡名 add IP地址 #将指定的IP地址绑定到某个网卡
$ifcofnig 网卡名 add IP地址 #从某个网卡上解绑某个IP地址
ping命令通常用于检测本机到目标主机的网络是否通畅,ping命令是通过发ICMP数据包实现的
gaowanlu@DESKTOP-QDLGRDB:/mnt/c/Users/gaowanlu/Desktop/MyProject/note/testcode$ ping www.baidu.com
PING www.a.shifen.com (120.232.145.185) 56(84) bytes of data.
64 bytes from 120.232.145.185: icmp_seq=1 ttl=45 time=27.3 ms
64 bytes from 120.232.145.185: icmp_seq=2 ttl=45 time=26.7 ms
64 bytes from 120.232.145.185: icmp_seq=3 ttl=45 time=27.9 ms
64 bytes from 120.232.145.185: icmp_seq=4 ttl=45 time=27.4 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7246ms
rtt min/avg/max/mdev = 26.719/27.324/27.918/0.425 ms
Telnet是一种用于远程登录或远程管理设备的网络协议,也是对应的命令行工具。它可以用于与远程主机建立基于文本的会话,并执行各种操作,如远程登录、端口连接和数据交互等。以下是Telnet命令的基本用法:
telnet [选项] <主机> [端口]
其中,主机是要连接的远程主机的IP地址或域名,端口是远程主机上要连接的端口号(可选,默认为23)。以下是一些常用的Telnet命令选项:
#远程登录主机
telnet example.com
#连接远程主机的指定端口,默认端口23
telnet example.com 8080
#使用用户名进行远程登录
telnet example.com -l username
#在连接建立后发送ASCII转义字符(如Ctrl+l)
telnet example.com -E
#使用自定义的本地特殊字符
telnet example.com -e @
请注意,由于Telnet协议是明文传输的,安全性较低,因此在实际使用中建议使用更安全的替代协议,如SSH。
Netstat是一个用于监控网络连接和网络统计信息的命令行工具。它可以显示当前计算机上的活动网络连接、监听端口、路由表、网络接口统计信息等。以下是Netstat命令的基本用法:
netstat [选项]
以下是一些常用的Netstat命令选项:
#显示所有活动的TCP和UDP连接
netstat -a
lsof(“list open files”)是一个用于列出正在被打开的文件和与之关联的进程的命令行工具。它可以显示当前系统中打开的文件、网络连接、目录等相关信息。以下是lsof命令的基本用法:
lsof [选项]
以下是一些常用的lsof命令选项:
#显示所有打开的文件
lsof
#显示与网络相关的打开文件
lsof -i
#显示指定用户名的进程打开的文件
lsof -u username
#显示指定进程名相关的打开文件
lsof -c processname
#显示指定进程ID相关的打开文件
lsof -p 1234
#显示与指定文件名匹配的打开文件
lsof -f myfile.txt
#持续监视打开文件并每隔2秒刷新结果
lsof -r 2
#显示指定类型的打开文件(如IPv4、TCP等)
lsof -t tcp
nc(netcat)是一个功能强大的网络工具,用于在命令行中进行网络连接和数据传输。它可以用于创建 TCP/IP 连接、发送和接收数据,以及作为端口扫描工具。以下是nc命令的基本用法:
nc [选项] <主机> <端口>
其中,主机是要连接的目标主机的 IP 地址或域名,端口是目标主机上的端口号。以下是一些常用的nc命令选项:
#连接到远程主机的指定端口
nc example.com 80
#在监听模式下作为服务器侦听指定端口
nc -l 8080
#使用 UDP 协议连接到远程主机的指定端口
nc -u example.com 1234
#在监听模式下使用指定的本地端口
nc -l -p 8080
#描远程主机上的指定端口是否开放
nc -z example.com 22
curl是一个功能强大的命令行工具,用于与服务器进行数据交互,支持多种协议,如HTTP、HTTPS、FTP等。它可以发送请求、接收响应,并提供各种选项来控制请求的行为。以下是curl命令的基本用法:
curl [选项] <URL>
其中,URL是要访问的目标URL地址。以下是一些常用的curl命令选项:
#发送GET请求并输出响应
curl http://example.com
#发送POST请求并附带数据
curl -X POST -d "key1=value1&key2=value2" http://example.com
#将响应保存到文件
curl -o output.txt http://example.com/file.txt
#发送带有自定义请求头的请求
curl -H "Content-Type: application/json" http://example.com/api
#显示响应头信息
curl -i http://example.com
#使用HTTP基本身份验证发送请求
curl -u username:password http://example.com
#忽略SSL证书验证
curl -k https://example.com
#使用代理服务器发送请求
curl -x proxy-server:port http://example.com
tcpdump是一个强大的命令行网络抓包工具,用于捕获和分析网络流量。它可以监听网络接口上的数据包,并显示或保存它们的内容。tcpdump支持多种协议,如TCP、UDP、ICMP等,并提供丰富的过滤选项和输出格式。以下是tcpdump命令的基本用法:
tcpdump [选项] [过滤表达式]
以下是一些常用的tcpdump命令选项:
请注意,tcpdump命令需要以超级用户(root)或具有适当权限的用户身份运行,以便访问网络接口并捕获数据包。
`bash #监听指定网络接口上的所有数据包 tcpdump -i eth0 #指定捕获的数据包数量 tcpdump -c 100 #将捕获的数据包保存到文件中 tcpdump -w capture.pcap #从文件中读取数据包进行分析 tcpdump -r capture.pcap #以ASCII文本格式显示数据包内容 tcpdump -A #以十六进制和ASCII混合格式显示数据包内容 tcpdump -X #禁用主机名解析 tcpdump -n #显示详细的输出 tcpdump -v