ifconfiig
ifconfig被用于配置和显示Linux系统的网卡的网络参数;用ifconfig命令配置的网卡信息,在重启后配置就不存在了,如果需要将配置信息永久保存,必须修改网卡的配置文件。
安装:yum install net-tools -y
常用参数:
add<地址>:设置网络设备IPv6的ip地址;
del<地址>:删除网络设备IPv6的IP地址;
up:启动指定的网络设备;
down:关闭指定的网络设备;
IP地址:指定网络设备的IP地址;
网络设备:指定网络设备的名称。
<hw<网络设备类型><硬件地址>:设置网络设备的类型与硬件地址;
io_addr<I/O地址>:设置网络设备的I/O地址;
irq<IRQ地址>:设置网络设备的IRQ;
media<网络媒介类型>:设置网络设备的媒介类型;
mem_start<内存地址>:设置网络设备在主内存所占用的起始地址;
metric<数目>:指定在计算数据包的转送次数时,所要加上的数目;
mtu<字节>:设置网络设备的MTU;
netmask<子网掩码>:设置网络设备的子网掩码;
tunnel<地址>:建立IPv4与IPv6之间的隧道通信地址;
-broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理;
-pointopoint<地址>:与指定地址的网络设备建立直接连线,此模式具有保密功能;
-promisc:关闭或启动指定网络设备的promiscuous模式;
案例:
1.查看网络地址信息
ifconfig
2.指定开启,关闭网卡, #禁止在服务器上执行
ifconfig 设备名 up/down
3.添加有关新的ip地址 ,注意ens33冒号后面有空格+地址
ifconfig ens33: 192.168.178.4 netmask 255.255.255.0 up
或者写成
ifconfig ens33:1 192.168.178.5/24 up
4.修改机器的mac地址
原mac地址是00:0c:29:73:a7:ab
ifconfig ens33 hw ether 00:0c:29:13:10:CF
5.永久修改网络设备信息需要写入到配置文件中
/etc/sysconfig/net-work-scripts/ifcf-设备名
ifup
激活指定的网络接口
启停网卡
ifup ens33
ifdown ens33
route命令
显示并设置Linux中静态路由表
route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
route命令添加的路由不会永久保存,当网卡重启或机器重启之后,就失效了,可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
案例:
1.route将IP地址进行DNS解析成主机名
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.178.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
#添加-n参数,不解析dns
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.178.254 0.0.0.0 UG 100 0 0 ens33
192.168.178.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
参数接受:
Destination:表示网络号,network的意思
Gateway:网关地址,网络是通过该IP连接出去的,如果显示0.0.0.0代表路由是直接冲本机传输出去的,如果有IP 表示本条路由比较经过该IP才能连接出去。
Genmask:子网掩码地址,也就是netmask,IP+NETMASK组成有关完整的网络
Flags:路由标记信息,标记当前网络节点的状态
U Up表示此路由当前为起点状态
H Host,表示此网关为一主机
G Gateway,表示此网关为一路由器
R Reinstate Route,使用动态路由重新初始化的路由
D Dynamically,此路由是动态性的写入
M Modified,此路由是由路由守护程序或导向器动态修改
! 表示此路由当前为关闭状态,用于禁止不安全的网络
Metric:需要经过几个网络节点才能到达路由的目标地址
Ref:参考到此路由规则的数目
Iface:路由对应的网络设备接口
案例:删除/添加网关
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.178.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost ~]# route del default
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.178.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost ~]# route add default gw 192.168.178.254
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.178.254 0.0.0.0 UG 0 0 0 ens33
192.168.178.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.178.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.178.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
arp命令
arp 命令用于显示和修改IP 到MAC转换表
arp是地址解析协议,主要功能是根据IP地址获取物理地址(MAC地址)
参数:
-a 主机:显示 arp缓存区的所有条目
-H 地址类型:指定arp指令使用的地址类型
-d 主机:从arp缓冲区中删除指定主机的arp条目
-D 使用指定接口的硬件地址
-e 以Linux的显示风格显示arp缓冲区中的条目
-i 接口:指定要操作arp缓冲区的网络接口
-s 主机MAC地址:设置指定主机的IP地址与MAC地址的静态映射
-n 以数字方式显示ARP 缓存条目的统计信息
-v 显示详细的arp缓冲条目,包括缓冲区条目的统计信息
-f 文件:设置主机的IP 地址与MAC地址的静态映射
案例:
检查mac信息
arp -n
ip命令
ip命令是iproute软件包里面一强大的网络配置工具,用于显示或管理Linux系统的路由,网络设备,策略路由等。
参数:
-V 显示指令版本信息
-s 输出更详细的信息
-f 强制使用指定的协议族
-4 指定使用的网络层协议是ipv5协议
-6 指定使用的网络层协议是ipv6协议
-0 对每行记录都使用单行输出,换行用字符代替如果你需要使用wc、grep等工具处理ip的输出,会用到这个选项。
-r -resolve 查询域名解析系统,用来获取主机名代替主机IP地址
ip命令可以操作的对象
link 网络设备
address 定义ipv ipv6的地址
neighbour 查看apr缓冲地址,(apr协议用于解析mac地址的)
route 路由表对象
madress 多播地址
tunnel IP上的通道
案例:
1.查看显示网络设备信息
ip addr show 简写 ip a
2.指定网络设备显示信息
ip link show dev ens33
3. 显示网络设备,详细的数据包收发大小情况
[root@localhost ~]# ip -s link show dev ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:73:a7:ab brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
1415663 15766 0 0 0 0
TX: bytes packets errors dropped carrier collsns
13501304 18542 0 0 0 0
4.关闭,激活网络设备
ip link set ens33 down/up
5.修改网卡的MAC地址
ip link set ens33 address 0:0c:29:13:10:11
6.ip命令add 添加del删除ip 信息
[root@localhost ~]# ip address add 192.168.178.169/24 dev ens33
[root@localhost ~]# ip address del 192.168.178.169/24 dev ens33
7.ip命令给网卡添加别名,label(标签动作)
ip address add 192.168.178.169/24 dev ens33 label ens33:1
#注意添加完毕用ifconfig命令能看到别名网卡信息
8.通过ip 命令检查路由信息
[root@localhost ~]# ip route
default via 192.168.178.254 dev ens33
192.168.178.0/24 dev ens33 proto kernel scope link src 192.168.178.3 metric 100
192.168.178.0/24 dev ens33 proto kernel scope link src 192.168.178.4 metric 100
192.168.178.0/24 dev ens33 proto kernel scope link src 192.168.178.5 metric 100
9.ip 检查arp缓冲,检查mac地址信息
ip neigh
或者
ip neighbour
arp -n
metstat命令
显示网络连接情况,路由表信息,端口状态,网络连接情况等信息。
一个进程服务运行之后,会暴露一个端口号。
参数:
-a 显示所有连线中的socket
-t 显示出TCP连接情况
-u 显示出UDP的连接情况
-n 直接使用ip地址,而不通过域名服务器;也就是不进行dns解析
-l 只显示正在监听中的套接字
-p 显示套接字所属的进程和进程名情况
案例:
1.查看所有网络连接情况
[root@localhost ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 36 192.168.178.3:22 192.168.178.1:49933 ESTABLISHED
参数解释:
-a 显示所有的套接字信息
-n 显示数字地址信息而非主机名
常见字段解释:
Proto 套接字使用的协议
Recv-Q 连接这个套接字的用户,还未拷贝的字节数
Send-Q 远程主机还未确认的字节数
Local Address 套接字本地的地址和端口号
Freight address 套接字的远程主机地址和端口号
State 套接字的运行情况,套接字的状态,LISTEN 监听中
2.常用的组合参数
# 查看集群上正在运行的所有端口号情况以及它的进程情况
[root@localhost ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 991/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1502/master
tcp6 0 0 :::22 :::* LISTEN 991/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1502/master
udp 0 0 0.0.0.0:123 0.0.0.0:* 23919/ntpdate
udp6 0 0 :::123 :::* 23919/ntpdate
127.0.0.1 #本地回环地址,用于机器硬件直接的ip通信,只能用于内部访问
0.0.0.0 #绑定机器所有的网卡地址
#检查服务器是否允许了3306端口
netstat -tunlp |grep 3306
#显示系统的路由情况
netstat -rn
等同于route -n
#显示网络的接口情况
[root@localhost ~]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33 1500 18088 0 0 0 20402 0 0 0 BMRU
ens33:1 1500 - no statistics available - BMRU
ens33: 1500 - no statistics available - BMRU
ens33:! 1500 - no statistics available - BMRU
lo 65536 24 0 0 0 24 0 0 0 LRU
字段介绍:
Iface 网络设备的接口名
MTU 最大的传输单元,单位是字节
RX-OK/TX-OK:正确接收了多少数据包,发送了多少数据包
RX-ERR/TX-ERR:接收,发送数据包的时候,丢弃了多少数据包
RX-OVR/TX-OVR:由于错误遗失了多少数据包
FLG标记
L 是回环地址的含义
R 网络接口正在运行中
U 接口正处于活动的状态
B 设置了广播地址
M 接收所有的数据包
O 表示在该接口上禁止ARP
P 端对端的连接
查看TX-ERR RX-ERR 最好为0,否则表示网络情况不健康,有丢包的先学
ss命令
比netstat更快速更高效的命令
参数:
-a 显示所有网络连接
-l 显示监听状态的套接字
-m 显示内存信息
-o 显示计时器信息
-p 显示进程信息
-s 连接统计
-n 只显示IP地址,不进行dns解析
-d 只显示dccp信息,等同于-A dccp
-u 只显示udp信息
-w 只显示RAW信息
-t 只显示TCP信息
-x 只显示unix通讯信息
-4 只显示IPV4信息
-6 只显示ipv信息
--help 显示帮助信息
--version 显示版本信息
案例:
显示所有的socket连接
ss -an
和netstat用法一致
ping命令
用于检测主机之间的网络连通性,执行ping命令使用ICMP传输协议,发出要求会回应的信息。
参数:
-c <完成次数> 设置完成要求回应的次数
-i<间隔秒数> 指定收发信息的间隔实际
-n 只输出数值
-s <数据包大小> 设置数据包的大小
-t<存活数值> 设置存活数值TTL的大小
-v 详细显示指令的执行过程
案例:
[root@localhost ~]# ping -c 3 -i 3 -s 1024 -t 225 baidu.com
PING baidu.com (39.156.69.79) 1024(1052) bytes of data.
1032 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=52.0 ms
1032 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=128 time=52.4 ms
1032 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=128 time=52.2 ms
--- baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 6009ms
rtt min/avg/max/mdev = 52.060/52.250/52.491/0.319 ms
字段解释:
icmp_seq 是接收到的序列包
ttl是数据包的生存期
time是延迟实际
1024是发送了1024字节的数据
1052是从目标接收到1052字节数据
参数解释:
-c 3 发送三次ICMP包
-i 3 每隔三秒发包
-s 1024 发送1024字节的数据包
-t 设置数据包存活值是255
ping命令的输出信息中含有TTL值,Time To Life(生存期),指的是ICMP报文在网络中的存活时间。不同的操作系统发出的ICMP报文生存期不同,有32、64、128、255等。
telent命令
登录远程主机和管理(测试ip端口是否连通)
telnet命令 用于登录远程主机,对远程主机进行管理。telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的。
可能需要安装:yum install telnet -y
#案例
检测ssh端口是否开放
[root@localhost ~]# telnet 192.168.178.51 22
Trying 192.168.178.51...
Connected to 192.168.178.51.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4
Protocol mismatch.
Connection closed by foreign host.
#端口未打开
[root@localhost ~]# telnet 192.168.178.52 22
Trying 192.168.178.52...
telnet: connect to address 192.168.178.52: No route to host
ssh命令
openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器
参数:
-p port 指定远程主机的端口,可以在配置文件中对每个主机单独设定这个参数
-t 强制分配伪终端,可以在远程机器上执行任何全屏幕程序,所有非常有用,例如菜单服务。技术没有本地终端,多个-t选项也会强制分配终端
-v 调式模式所,打印关于运行情况的调式信息,在调式连接,认值和配置有问题时非常有用
配置文件与端口
[root@localhost ~]# cat /etc/ssh/ssh_config |grep 22
# Port 22
案例:
远程登录服务器
ssh root@192.168.178.3
指定端口,用户登录服务器
ssh xxx@192.168.178.3 -p 22
远程执行服务器的命令
ssh root@192.168.178.51 "free -m"
[root@localhost ~]# ssh root@192.168.178.51 "free -m"
The authenticity of host '192.168.178.51 (192.168.178.51)' can't be established.
ECDSA key fingerprint is SHA256:4imP13lMQGooWGjdRyR0Fo6Q7ImWaEzTNuczogpiGBI.
ECDSA key fingerprint is MD5:89:55:1e:bc:e8:41:d0:cd:b6:2a:7c:78:67:0a:ce:ee.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.178.51' (ECDSA) to the list of known hosts.
root@192.168.178.51's password:
total used free shared buff/cache available
Mem: 3934 133 3640 11 160 3580
Swap: 1999 0 1999
wget命令
Linux系统下载文件工具
wget命令用来从指定URL下载文件。wget非常问的,他在宽带很窄的情况下和不稳定网络中有很强的试应性,如果由于网络的原有下载失败,wget会不断尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次连到服务器上冲停止的地方继续下载。这对从那些限定了连接实际的服务器上下载大文件非常有用。
wget支持HTTP,HTTPS和FTP协议,可以试应HTTP代理,所谓的自动下载是指wget可以在用户退出系统之后在后台执行。
wget特点:
支持断点下载
同时支持FTP和HTTP下载方式
支持代理服务器
设置方便简单
程序小而且免费
语法:
wget 选项 URL
安装:yum install wget -y
启动参数:
-V 显示wget的版本后退出
-h 打印语法帮助
-b 启动后转入后台执行
-e 执行 `.wgetrc`格式的命令
常用参数:
-o 指定保存文件名字
--limit-rate=1k 限制wget下载速度为1k
-c 断点续传
-b 后台运行
案例:
#下载美女照片
wget https://wx4.sinaimg.cn/mw690/62047bf2ly1ghlrt01sy4j222o340x6v.jpg
#下载文件,且指定保存文件名字
[root@localhost ~]# wget -o /test/柳岩.jpg https://wx1.sinaimg.cn/mw690/62047bf2ly1gfe5oayxg1j21xg2w6qv8.jpg
[root@localhost ~]# ls /test
柳岩.jpg
#限制wget下载速度,通过--limit-rate=50k
wget --limit-rate=50k https://wx4.sinaimg.cn/mw690/62047bf2ly1gfo8rm2np1j222p340x6p.jpg
#支持断点续传,-c参数
wget -c --limit-rate=5k https://wx4.sinaimg.cn/mw690/62047bf2ly3ggpknq6inkj211w1kwhdv.jpg
让wget在后台运行,-b 参数
[root@localhost ~]# wget -b --limit-rate=5k https://wx3.sinaimg.cn/mw690/62047bf2ly1ghmuxaccnpj23gg56oe89.jpg
Continuing in background, pid 25158.
Output will be written to ‘wget-log’.
利用wget可以检测网站是否存活
wget -q -T 3 -t 1 --spider www.baidu.com
输入ehho $? 返回结果为0,表示网站是存活的
-q 安静输出
-T 指定访问网站的超时时间
-t 表示同意重试访问网站几次
[root@localhost ~]# wget -q -T 3 -t 1 --spider www.baidu.com
[root@localhost ~]# echo $?
0
[root@localhost ~]# wget -q -T 3 -t 1 --spider www.ppbad.com
[root@localhost ~]# echo $?
4
wget参数
记录和输入文件参数:
-o, –-output-file=FILE 把记录写到FILE文件中
-a, –-append-output=FILE 把记录追加到FILE文件中
-d, –-debug 打印调试输出
-q, –-quiet 安静模式(没有输出)
-v, –-verbose 冗长模式(这是缺省设置)
-nv, –-non-verbose 关掉冗长模式,但不是安静模式
-i, –-input-file=FILE 下载在FILE文件中出现的URLs
-F, –-force-html 把输入文件当作HTML格式文件对待
-B, –-base=URL 将URL作为在-F -i参数指定的文件中出现的相对链接的前缀
–-sslcertfile=FILE 可选客户端证书
–-sslcertkey=KEYFILE 可选客户端证书的KEYFILE
–-egd-file=FILE 指定EGD socket的文件名
下载参数:
–-bind-address=ADDRESS 指定本地使用地址(主机名或IP,当本地有多个IP或名字时使用)
-t, –-tries=NUMBER 设定最大尝试链接次数(0 表示无限制).
-O –-output-document=FILE 把文档写到FILE文件中
-nc, –-no-clobber 不要覆盖存在的文件或使用.#前缀
-c, –-continue 接着下载没下载完的文件
–progress=TYPE 设定进程条标记
-N, –-timestamping 不要重新下载文件除非比本地文件新
-S, –-server-response 打印服务器的回应
–-spider 不下载任何东西
-T, –-timeout=SECONDS 设定响应超时的秒数
-w, –-wait=SECONDS 两次尝试之间间隔SECONDS秒
–waitretry=SECONDS 在重新链接之间等待1…SECONDS秒
–random-wait 在下载之间等待0…2*WAIT秒
-Y, –-proxy=on/off 打开或关闭代理
-Q, –-quota=NUMBER 设置下载的容量限制
-–limit-rate=RATE 限定下载输率
目录参数:
-nd –-no-directories 不创建目录
-x, –-force-directories 强制创建目录
-nH, –-no-host-directories 不创建主机目录
-P, –-directory-prefix=PREFIX 将文件保存到目录 PREFIX/…
–cut-dirs=NUMBER 忽略 NUMBER层远程目录
HTTP 选项参数:
-–http-user=USER 设定HTTP用户名为 USER.
-–http-passwd=PASS 设定http密码为 PASS
-C, –-cache=on/off 允许/不允许服务器端的数据缓存 (一般情况下允许)
-E, –-html-extension 将所有text/html文档以.html扩展名保存
-–ignore-length 忽略 `Content-Length’头域
-–header=STRING 在headers中插入字符串 STRING
-–proxy-user=USER 设定代理的用户名为 USER
-–proxy-passwd=PASS 设定代理的密码为 PASS
-–referer=URL 在HTTP请求中包含 `Referer: URL’头
-s, –-save-headers 保存HTTP头到文件
-U, –-user-agent=AGENT 设定代理的名称为 AGENT而不是 Wget/VERSION
-–no-http-keep-alive 关闭 HTTP活动链接 (永远链接)
–-cookies=off 不使用 cookies
–-load-cookies=FILE 在开始会话前从文件 FILE中加载cookie
-–save-cookies=FILE 在会话结束后将 cookies保存到 FILE文件中
FTP 选项参数:
-nr, -–dont-remove-listing 不移走 `.listing’文件
-g, -–glob=on/off 打开或关闭文件名的 globbing机制
-–passive-ftp 使用被动传输模式 (缺省值).
-–active-ftp 使用主动传输模式
-–retr-symlinks 在递归的时候,将链接指向文件(而不是目录)
递归下载参数:
-r, -–recursive 递归下载--慎用!
-l, -–level=NUMBER 最大递归深度 (inf 或 0 代表无穷)
–-delete-after 在现在完毕后局部删除文件
-k, –-convert-links 转换非相对链接为相对链接
-K, –-backup-converted 在转换文件X之前,将之备份为 X.orig
-m, –-mirror 等价于 -r -N -l inf -nr
-p, –-page-requisites 下载显示HTML文件的所有图片
递归下载中的包含和不包含(accept/reject):
-A, –-accept=LIST 分号分隔的被接受扩展名的列表
-R, –-reject=LIST 分号分隔的不被接受的扩展名的列表
-D, –-domains=LIST 分号分隔的被接受域的列表
–-exclude-domains=LIST 分号分隔的不被接受的域的列表
–-follow-ftp 跟踪HTML文档中的FTP链接
–-follow-tags=LIST 分号分隔的被跟踪的HTML标签的列表
-G, –-ignore-tags=LIST 分号分隔的被忽略的HTML标签的列表
-H, –-span-hosts 当递归时转到外部主机
-L, –-relative 仅仅跟踪相对链接
-I, –-include-directories=LIST 允许目录的列表
-X, –-exclude-directories=LIST 不被包含目录的列表
-np, –-no-parent 不要追溯到父目录
wget -S –-spider url 不下载只显示过程
nslookup命令
查询域名DNS信息的工具
安装:yum install bind-utils -y
使用:
[root@localhost ~]# nslookup www.baidu.com
Server: 119.29.29.29
Address: 119.29.29.29#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 14.215.177.39
Name: www.a.shifen.com
Address: 14.215.177.38
还有交互模式
[root@localhost ~]# nslookup
> www.baidu.com
Server: 119.29.29.29
Address: 119.29.29.29#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 14.215.177.39
Name: www.a.shifen.com
Address: 14.215.177.38
> www.taobao.com
Server: 119.29.29.29
Address: 119.29.29.29#53
Non-authoritative answer:
www.taobao.com canonical name = www.taobao.com.danuoyi.tbcache.com.
Name: www.taobao.com.danuoyi.tbcache.com
Address: 113.96.109.101
Name: www.taobao.com.danuoyi.tbcache.com
Address: 113.96.109.100
Name: www.taobao.com.danuoyi.tbcache.com
Address: 240e:ff:d800:500:3::3fa
Name: www.taobao.com.danuoyi.tbcache.com
Address: 240e:ff:d800:500:3::3f9
nmap命令
网络探测和安全审核
nmap是一块开放源码的网络探测工具,全称Network Mapper
目的在于快速扫描大型网络,nmap可以发现网络里上有哪些主机,主机提供了什么服务,并且探测操作系统类型等信息。
安装:yum install nmap -y
案例:
查看主机开发的端口,默认扫描1-1000的端口,也可以是其他ip地址
[root@localhost ~]# nmap 127.0.0.1
Starting Nmap 6.40 ( http://nmap.org ) at 2021-02-17 21:16 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
Nmap done: 1 IP address (1 host up) scanned in 2.04 seconds
# 有998个端口关闭,指开放了 22,25两个端口
扫描指定端口范围
[root@localhost ~]# nmap -p 1024-65535 127.0.0.1
Starting Nmap 6.40 ( http://nmap.org ) at 2021-02-17 21:17 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000080s latency).
All 64512 scanned ports on localhost (127.0.0.1) are closed
Nmap done: 1 IP address (1 host up) scanned in 6.51 seconds
探测目标主机的服务和操作系统版本
对于网络安装性较高的机器,最好能够屏蔽服务版本信息,防止黑客利用版本漏洞攻击
[root@localhost ~]# nmap -O -sV 127.0.0.1
Starting Nmap 6.40 ( http://nmap.org ) at 2021-02-17 21:23 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000013s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4 (protocol 2.0)
25/tcp open smtp Postfix smtpd
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.7 - 3.9
Network Distance: 0 hops
Service Info: Host: localhost.localdomain
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 4.17 seconds
nmap的参数
-O:激活操作探测;
-P0:值进行扫描,不ping主机;
-PT:是同TCP的ping;
-sV:探测服务版本信息;
-sP:ping扫描,仅发现目标主机是否存活;
-ps:发送同步(SYN)报文;
-PU:发送udp ping;
-PE:强制执行直接的ICMPping;
-PB:默认模式,可以使用ICMPping和TCPping;
-6:使用IPv6地址;
-v:得到更多选项信息;
-d:增加调试信息地输出;
-oN:以人们可阅读的格式输出;
-oX:以xml格式向指定文件输出信息;
-oM:以机器可阅读的格式输出;
-A:使用所有高级扫描选项;
--resume:继续上次执行完的扫描;
-P:指定要扫描的端口,可以是一个单独的端口,用逗号隔开多个端口,使用“-”表示端口范围;
-e:在多网络接口Linux系统中,指定扫描使用的网络接口;
-g:将指定的端口作为源端口进行扫描;
--ttl:指定发送的扫描报文的生存期;
--packet-trace:显示扫描过程中收发报文统计;
--scanflags:设置在扫描报文中的TCP标志。
--send-eth/--send-ip 使用原始以太网发送/构造指定IP发送