主要的原因是需要在电脑上同时连接内外网的时候,每次都需要在我所使用的 Wi-Fi 网卡上附加一个我们内网的 IP:172.28.20.1/16 之后再加上一个路由。但是每次重启电脑后都得重新添加。当然,我们可以以脚本的形式在登录时进行执行,或者用 automator 建立一个小程序,给用户进行 LoginItems 内弄上。但这觉得都不是根本的解决办法。
一句话介绍
networksetup 是在系统偏好设置中对网络设定进行配置的工具。 networksetup 命令最少需要
admin
权限。 大多数的配置命令都需要 root
权限。
在任何需要密码的地方,可以用
-
代替,表示从标准输入读入密码。概要
networksetup [-listnetworkserviceorder] [-listallnetworkservices] [-listallhardwareports] [-detectnewhardware] [-getmacaddress hardwareport] [-getcomputername] [-setcomputername computername] [-getinfo networkservice] [-setmanual networkservice ip subnet router] [-setdhcp networkservice [clientid]] [-setbootp networkservice] [-setmanualwithdhcprouter networkservice ip] [-getadditionalroutes networkservice] [-setadditionalroutes networkservice [dest1 mask1 gate1] [dest2 mask2 gate2] ... [destN maskN gateN]] [-setv4off networkservice] [-setv6off networkservice] [-setv6automatic networkservice] [-setv6linklocal networkservice] [-setv6manual networkservice address prefixLength router] [-getv6additionalroutes networkservice] [-setv6additionalroutes networkservice [dest1 prefixlength1 gate1] [dest2 prefixlength2 gate2] ... [destN prefixlengthN gateN]] [-getdnsservers networkservice] [-setdnsservers networkservice dns1 [dns2] [...]] [-getsearchdomains networkservice] [-setsearchdomains networkservice domain1 [domain2] [...]] [-create6to4service networkservicename] [-set6to4automatic networkservice] [-set6to4manual networkservice relayAddress] [-getftpproxy networkservice] [-setftpproxy networkservice domain portnumber authenticated username password] [-setftpproxystate networkservice on | off] [-getwebproxy networkservice] [-setwebproxy networkservice domain portnumber authenticated username password] [-setwebproxystate networkservice on | off] [-getsecurewebproxy networkservice] [-setsecurewebproxy networkservice domain portnumber authenticated username password] [-setsecurewebproxystate networkservice on | off] [-getstreamingproxy networkservice] [-setstreamingproxy networkservice domain portnumber authenticated username password] [-setstreamingproxystate networkservice on | off] [-getgopherproxy networkservice] [-setgopherproxy networkservice domain portnumber authenticated username password] [-setgopherproxystate networkservice on | off] [-getsocksfirewallproxy networkservice] [-setsocksfirewallproxy networkservice domain portnumber authenticated username password] [-setsocksfirewallproxystate networkservice on | off] [-getproxybypassdomains networkservice] [-setproxybypassdomains networkservice domain1 [domain2] [...]] [-getproxyautodiscovery networkservice] [-setproxyautodiscovery networkservice on | off] [-getpassiveftp networkservice] [-setpassiveftp networkservice on | off] [-getairportnetwork device] [-setairportnetwork device network [password]] [-getairportpower device] [-setairportpower device on | off] [-listpreferredwirelessnetworks hardwareport] [-addpreferredwirelessnetworkatindex hardwareport network index securitytype [password]] [-removepreferredwirelessnetwork hardwareport network] [-removeallpreferredwirelessnetworks hardwareport] [-getnetworkserviceenabled networkservice] [-setnetworkserviceenabled networkservice on | off] [-createnetworkservice networkservicename hardwareport] [-renamenetworkservice networkservice newnetworkservicename] [-duplicatenetworkservice networkservice newnetworkservicename] [-removenetworkservice networkservice] [-ordernetworkservices service1 [service2] [service3] [...]] [-getMTU hardwareport] [-setMTU hardwarePort value] [-listvalidMTUrange hardwareport] [-getmedia hardwareport] [-setmedia hardwareport subtype [option1] [option2] [...]] [-listvalidmedia hardwareport] [-createVLAN name parentdevice tag] [-deleteVLAN name parentdevice tag] [-listVLANs] [-listdevicesthatsupportVLAN] [-isBondSupported device] [-createBond name [device1] [device2] [...]] [-deleteBond bond] [-addDeviceToBond device bond] [-removeDeviceFromBond device bond] [-listBonds] [-showBondStatus bond] [-listpppoeservices] [-showpppoestatus name] [-createpppoeservice device name account password [pppoeName]] [-deletepppoeservice service] [-setpppoeaccountname service account] [-setpppoepassword service password] [-connectpppoeservice service] [-disconnectpppoeservice service] [-listlocations] [-getcurrentlocation] [-createlocation location [populate]] [-deletelocation location] [-switchtolocation location] [-listalluserprofiles] [-listloginprofiles service] [-enablesystemprofile service on | off] [-enableloginprofile service profile on | off] [-enableuserprofile profile on | off] [-import8021xProfiles service path] [-export8021xProfiles service path yes | no] [-export8021xUserProfiles path yes | no] [-export8021xLoginProfiles service path yes | no] [-export8021xSystemProfile service path yes | no] [-settlsidentityonsystemprofile service path passphrase] [-settlsidentityonuserprofile profile path passphrase] [-deletesystemprofile service] [-deleteloginprofile service profile] [-deleteuserprofile profile] [-version] [-help] [-printcommands] |
下面是所有的 flags 列表及他们的描述:
网络服务
-listnetworkserviceorder
按照与一个连接的相关性列出网络服务及其对应的 Port 。含有
*
说明这个服务不可用。如:networksetup -listnetworkserviceorder An asterisk (*) denotes that a network service is disabled. (1) Wi-Fi (Hardware Port: Wi-Fi, Device: en0) (2) iPhone USB (Hardware Port: iPhone USB, Device: en4) (3) Bluetooth PAN (Hardware Port: Bluetooth PAN, Device: en2) (4) Thunderbolt Bridge (Hardware Port: Thunderbolt Bridge, Device: bridge0) |
-listallnetworkservices
这个只是简单的列出网络服务名称而已。
networksetup -listallnetworkservices An asterisk (*) denotes that a network service is disabled. Wi-Fi iPhone USB Bluetooth PAN Thunderbolt Bridge |
-listallhardwareports
这个会列出所有硬件端口,包含对应的设备名称及地址。
networksetup -listallhardwareports Hardware Port: Wi-Fi Device: en0 Ethernet Address: 34:36:3b:17:ac:be Hardware Port: Bluetooth PAN Device: en2 Ethernet Address: 34:36:3b:17:ac:bf Hardware Port: Thunderbolt 1 Device: en1 Ethernet Address: 32:00:17:5f:00:00 Hardware Port: Thunderbolt Bridge Device: bridge0 Ethernet Address: 32:00:17:5f:00:00 VLAN Configurations =================== |
-detectnewhardware
检测网络硬件,并为这个硬件建立一个默认的网络服务。
-getmacaddress hardwareport
获取硬件接口的网卡地址。比如以太网或者是 Wi-Fi。
networksetup -getmacaddress 'Wi-Fi' 130 ↵ Ethernet Address: 34:36:3b:17:ac:be (Hardware Port: Wi-Fi) |
-getcomputername
获取计算机名称
networksetup -getcomputername 我的电脑的MacBook Air |
-setcomputername
设置计算机名称
networksetup -setcomputername "Angel's MacBook Air"
|
-getinfo netwokservice
获取网络服务的信息。IP 地址,子网掩码,下一跳路由,硬件地址
networksetup -getinfo "Wi-Fi" DHCP Configuration IP address: 192.168.0.8 Subnet mask: 255.255.255.0 Router: 192.168.0.1 Client ID: IPv6: Automatic IPv6 IP address: none IPv6 Router: none Wi-Fi ID: 34:36:3b:17:ac:be |
-setmanual networkservice ip subnet router
设置网络服务的 IP, 子网, 下一跳路由。
-setdhcp networkservice [clientid]
设置使用 DHCP 自动获取IP地址,。 clientid 是可选的,可以将其设置为 Empty 来清空已设置的 clientid。
-setbootp networkservice
设置网络服务使用 bootp
-setmanualwithdhcprouter networkservice ip
手动指定一个 dhcp 池内的地址。
-getadditionalroutes networkservice
获取附加的路由。
-setadditionalroutes networkservice [dest1 mask1 gate1] [dest2 mask2 gate2] … [destN maskN gateN]
设置附加的路由。
networksetup -setadditionalroutes "Wi-Fi" 172.230.1.1 255.255.0.0 172.28.20.1
|
-setv{4 | 6}off networkservice
用来关闭 IPv4 或者 IPv6 协议。
-setv6automatic networkservice
自动设置 IPv6 地址。
-setv6linklocal networkservice
设置 IPv6 只使用本地链路地址。
-setv6manual ip prefixlength router
设置 IPv6 地址。包括 IP, 前缀, 及路由
-getv6additionalroutes networkservice
获取 IPv6 附加路由。
-setv6additionalroutes networkservice [dest1 prefixlength1 gate1] [dest2 prefixlength2 gate2] … [destN prefixlengthN gateN]
设置 IPv6 附加路由
-getdnsservers networkservice
获取 DNS 服务器。
-setdnsservers networkservice dns1 [dns2] […]
设置 DNS 服务器。
networksetup -setdnsservers "Wi-Fi" 8.8.8.8 114.114.114.114
|
-getsearchdomains networkservice
为指定的网络服务显示出域名。这个我们本机一般不会用到。
-setsearchdomains networkservice domain1 [domain2] […]
对网络服务指定域名。可设置多个呢。如果要清除的话,指定为
aemptya
。
-create6to4service -
建立一个 IPv6 -> IPv4 的网络服务。
-set6to4automatic -
-set6to4manual - -
-getftpproxy networkservice
获取 ftp 代理情况。
Enabled: No Server: Port: 0 Authenticated Proxy Enabled: 0 |
-setftpproxy networkservice domain portnumber authenticated username password
设置 ftp 代理信息。authenticated 可以是 [ on | off ]。如果设置为 on,那么需要输入后面的账户和密码。
-setftpproxystate networkservice on | off
开/关 ftp 代理。
-getwebproxy networkservice
获取 web 代理信息。
-setwebproxy networkservice domain portnumber authenticated username password
设置 web 代理。
-setwebproxystate networkservice on | off
开关 web 代理。
-getsecurewebproxy networkservice
-setsecurewebproxy networkservice domain portnumber authenticated username password
-setsecurewebproxystate networkservice on | off
-getstreamingproxy networkservice
-setstreamingproxy networkservice domain portnumber authenticated username password
-setstreamingproxystate networkservice on | off
-getgopherproxy networkservice
-setgopherproxy networkservice domain portnumber authenticated username password
-setgopherproxystate networkservice on | off
-getsocksfirewallproxy networkservice
-setsocksfirewallproxy networkservice domain portnumber authenticated username password
-setsocksfirewallproxystate networkservice on | off
-getproxybypassdomains networkservice
-setproxybypassdomains networkservice domain1 [domain2] […]
-getproxyautodiscovery networkservice
-setproxyautodiscovery networkservice on | off
-getpassiveftp networkservice
FTP 被动模式是否开启。
-setpassiveftp networkservice {on | off}
设置被动 FTP 模式。
-setautoproxyurl networkservice url
设置自动代理配置的url。
-getautoproxyurl networkservice
获取上面配置的信息。
networksetup -getautoproxyurl "Wi-Fi" URL: http://127.0.0.1:1089/proxy.pac Enabled: Yes |
-setsocksfirewallproxystate networkservice on | off
设置是否开启 SOCKS 防火墙代理。
-getairportnetwork hardwareport
显示当前的 Wi-Fi 网络。
networksetup -getairportnetwork en0 Current Wi-Fi Network: 360WiFi-8471A7-5G |
-setairportnetwork hardwareport network [password]
连接一个 Wi-Fi 热点的意思。
-getairportpower hardwareport
看一下 Wi-Fi 是开还是关。
-setairportpower hardwareport on | off
开关 Wi-Fi。
-listpreferredwirelessnetworks hardwareport
列出首选的 Wi-Fi 网络热点信息。
networksetup -listpreferredwirelessnetworks en0 | head Preferred networks on en0: 360WiFi-8471A7 real_602 nmj602_5G nmj504 HUAWEI-E5Mini-5FF7 iPhone D-GuiYang 360WiFi-DD0658 Wo4G-G7DQ |
-addpreferredwirelessnetworkatindex hardwareport network index securitytype [password]
添加 Wi-Fi 网络信息。
-removepreferredwirelessnetwork hardwareport network
移除 Wi-Fi 网络。
-removeallpreferredwirelessnetworks hardwareport
移除所有的 Wi-Fi 网络。
-getnetworkserviceenabled networkservice
查看网络服务是否开启。
-setnetworkserviceenabled networkservice on | off
开/关一个网络服务
-createnetworkservice networkservicename hardwareport
在硬件端口 hadrwareport 上建立网络服务 networkservicename。 建立后默认会开启。
-renamenetworkservice networkservice newnetworkservicename
重命名网络服务
-duplicatenetworkservice networkservice newnetworkservicename
复制网络服务。
-removenetworkservice networkservice
删除网络服务
-ordernetworkservices service1 [service2] [service3] […]
排序网络服务。
-getMTU hardwareport
获取 MTU 以太网 一般是1468
-setMTU hardwarePort value
手动设置 MTU
-listValidMTURange hardwareport
查看有效的 MTU值。
networksetup -listValidMTURange en0 Valid MTU Range: 1280-1500 |
-getMedia hardwareport
获取当前媒介的设置及端口上的活跃媒介或设备。
-setMedia hardwareport subtype [option1] [option2] […]
指定端口的媒介类型。
-listValidMedia hardwareport
列出可用的媒介。
-createVLAN name parentdevice tag
在父设备 parentdevice,创建 Vlan ,标签 tag。
-deleteVLAN name parentdevice tag
删除 Vlan
-listVLANs
列出V Vlan
-listdevicesthatsupportVLAN
列出支持 Vlan 的设备。
-isBondSupported device
设备是否支持 bond。
networksetup -isBondSupported "Wi-Fi" NO |
-createBond name [device1] [device2] […]
建立聚合链路
-deleteBond bond
删除链路聚合。
-addDeviceToBond device bond
为链路添加设备
-listBonds
列出聚合链路
-showBondStatus bond
查看链路聚合状态
pppoe相关
-listpppoeservices
-showpppoestatus name
-createpppoeservice device name account password [pppoeName]
-deletepppoeservice service
-setpppoeaccountname service account
-setpppoepassword service password
-connectpppoeservice service
-disconnectpppoeservice service
-listlocations
位置列表
-getcurrentlocation
当前位置
-createlocation location [populate]
创建位置
-deletelocation location
删除位置
-switchtolocation location
切换位置。
No comments:
Post a Comment