程序员必知必会----linux常用命令之八【网络命令】
一.设置固定IP
先说一下临时设置IP的方法:
ifconfig eth0 192.168.12.51 #重启机器或者重启network马上失效
?
配置网卡的IP地址:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
配置网卡的子接口
ifconfig eth0:0 192.168.0.1 netmask 255.255.255.0
配置网卡的启用或禁用
ifconfig eth0 up ===?ifup eth0 ?#开启网卡
ifconfig eth0 down ===?ifdown eth0 #禁用网卡
?
?
永久设置:
1.设置IP地址、子网掩码
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:15:F2:B9:92:4F
IPADDR=192.168.12.51
NETMASK=255.255.225.0
ONBOOT=yes
?
2.设置网关
vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=192.168.12.254
?
3.设置DNS
vi /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 192.168.0.10
nameserver 202.106.0.20
?
4.重启网络
service network restart
?
二.iptables
1.查看:iptables -L -n
2.清空策略:iptables -F #临时的,重启防火墙就失效了
3.保存策略:service iptables save
?iptables详细说明参考:http://www.jb51.net/os/RedHat/1335.html
?
三.SELinux[没深入研究,直接关了]
1.查看:sestatus
2.关闭:
vi /etc/selinux/config?
SELINUX=disabled
重启服务器
?
四.查看占用端口
netstat -tunpl ??#查看全部占用端口的进程PID和进程名称
netstat -tunpl?| grep :80 ?#查看占用80端口的进程PID和进程名称
netstat -tunpl?| grep httpd ?#查看进程httpd占用的端口
?
netstat : 查看系统监听的端口, 显示网络连接信息
示例:
# netstat -tunpl?
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:875 ? ? ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?2024/rpc.rquotad ? ?
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:111 ? ? ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?1760/rpcbind ? ??
?
显示说明:
-a显示所有socket,包括正在监听的
socket五要素:协议,源地址(端口),目的地址(端口)
-n不显示别名,能显示数字的全部转化为数字
-r显示核心路由表,类似:route e
-t显示TCP协议的链接情况
-l仅理出有在Listen的服务状态
-u显示UDP协议的链接情况
-v显示正在进行的工作
-p显示建立相关链接的程序名
?
查看所有处于监听的socket
netstat l
常用查看tcp的监听端口
netstat ntlp
显示网络接口列表
netstat -i
?
五.浏览传输工具
1.curl #不支持多线程下载
示例;
curl ?http://url?查看页面内容
curl -u user:passwd http://url?通常简单验证的页面登录方法
curl -A “MISE 6.0” http://url?伪装成其他浏览器
curl -e http://aa http://bb?伪造来源(referer)地址
curl -x 1.2.3.4:80 http://url?使用代理访问url
curl -s http://url | grep html?不显示下载进度信息
curl ?-C -# -o aa.html http://url?显示下载进度条,-C断点续传-o 下载后的文件名称
curl -O ftp://user:pass@ip:port/file?通过FTP进行下载
curl -T file ftp://user:pass@ip:port/path?通过FTP进行上传
curl -E mycert.pem https://url?通过本地证书访问需要认证的http
?
?2.wget?
wget -i file.txt下载file.txt中的所有链接
wget -c -t 5 http://url/file.rar断点续传,最多重试5次
wget -r ?-l 5 http://url递归下载整个网站,递归深度为5
wget -m --accept=rar http://url只下载rar格式的文件
wget -m --reject=gif http://url? ? 不下载gif格式的文件
wget -nc -T 5 http://url/a.rar? ? 不下载已经存在的文件,设置超时时间5s
?
?六.ping/fping
? ? ? ? ping -c 5 -i 0.5 ip总计Ping5次,间隔0.5秒
ping -s 64 -R ip设置包大小,并且输出路由的过程
ping -f -c 100 ip极限测试,洪泛Ping
?
? ? ? ? ping扫描工具需要等待前一个被探测主机返回某种响应消息之后才能继续探测下一台主机是否存在。
? ? ? ? fping却能以轮转方式并行地发出大量的ping请求,可以ping一个网段。
?
fping -a -f text.txt通过读取文件批量ping主机,结果显示ip
fping -u -f test.txt显示不可用的主机
fping -g 192.168.1.0 192.168.1.255ping一个子网
fping -g 192.168.1.0/24ping一个子网
?
?
?
?
?
?
?