- 設定網卡名稱
- /interface
- set 0 name=lan
- set 1 name=wan
- 設定IP
- /ip address
- add address=172.16.1.11/16 interface=lan //新增介面lan之IP
- remove 編號 //刪除某介面之IP
- set 編號 address=172.16.1.11/16 interface=lan
- 新增ADSL連線(pppoe client連線)
- /interface ppoe-client
- add disable=no name="自訂名稱" interface=網卡名稱 user=xxxx@ip業者 password=密碼 profile=default add-default-route=no(三大) dial-on-demand=no(三大) use-peer-dns=no(三大) allow=chap,mschap1,mschap2
- 新增路由
- /ip route
- /add gateway=遠端路由IP
- add dst-address=192.168.2.0/24 gateway=172.16.1.2
- 設定Dns
- /ip dns
- set servers=8.8.8.8,168.95.1.1 allow-remote-requests=no
- Nat上網
- SNAT
- add chain=srcnat action=src-nat to-addresses=對外代表IP src-address=172.16.0.0/16
- add chain=srcnat action=masquerade to-addresses=218.32.127.167 out-interface=pppoe-sdtv(三大)
- DNAT
- add chain=dstnat action=dst-nat to-addresses=172.16.1.2 dst-address=163.23.115.68
- 網路偵測
- /ping ip
- /tool traceroute ip
- 建立dhcp server
- 新增 ip pool
- /ip pool
- add name=pool名稱 range=ip範圍
- 新增 dhcp server服務
- /ip dhcp-server
- add disabled=no name=名稱 address-pool=pool名稱 interface=網卡名竹木月土月
- 使用者管理
- /user
- add name=test group=read
- 關閉dhcp相關log檔
- /log
- /system/logging
- add action=memory disabled=yes prefix=dhcp topics=debug
- vpn(使用pptp協定)
- 建立vpn_pool
- /ip pool
- add name=vpn_pool ranges=172.16.4.100-172.16.4.200
- 建立PPTP Server 的環境(local-address校內網路預設路由,remote-address登入後之IP)
- /ppp profile
- add dns-server=8.8.8.8 local-address=172.16.1.254 name=PPTP_Profile remote-address=vpn_pool change-tcp-mss=yes use-encryption=yes(配合windows系統可使用required,但ubuntu使用有點問題,故採用yes)
- 設定與啟(停)用 pptp server
- /interface pptp-server server
- set authentication=chap,mschap1,mschap2 default-profile=PPTP_profile enabled=yes
- set enabled=yes(or no)
- 設定Client端之連線帳號(從家中登入的帳號密碼)
- /ppp secret
- print (密碼會以明碼呈現)
- add name=帳號 password=密碼 profile=PPTP_Profile service=pptp
- 防火牆過濾予通過(pptp使用1723port)
- add chain=input dst-port=1723 protocol=tcp
- add chain=input protocol=gre
- CLOSE_WAIT連接過多的現象分析與處理(原因參見)
- 縮短client的keep-alive時間
- 延長server的keep-alive時間
- 整合第二外線(參見阿堯老師)
2021年2月4日 星期四
routeros常用指令
2021年1月31日 星期日
wireshark捕獲/過濾封包
一、捕獲過濾:先在capture option中設定,僅捕獲符合條件的封包,可避免記憶體佔用。
Protocol(協議):
可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
如果沒有特別指明是什麼協議,則預設使用所有支援的協議。
Direction(方向):
可能的值: src, dst, src and dst, src or dst
如果沒有特別指明來源或目的地,則預設使用 “src or dst” 作為關鍵字。
例如,”host 10.2.2.2″與”src or dst host 10.2.2.2″是一樣的。
Host(s):
可能的值: net, port, host, portrange.
如果沒有指定此值,則預設使用”host”關鍵字。
例如,”src 10.1.1.1″與”src host 10.1.1.1″相同。
Logical Operations(邏輯運算):
可能的值:not, and, or.
否(“not”)具有最高的優先順序。或(“or”)和與(“and”)具有相同的優先順序,運算時從左至右進行。
例如,
“not tcp port 3128 and tcp port 23″與”(not tcp port 3128) and tcp port 23″相同。
“not tcp port 3128 and tcp port 23″與”not (tcp port 3128 and tcp port 23)”不同。
- host 192.168.1.1 //抓取192.168.1.1 收到和發出的封包
- src host 192.168.1.1 //抓取來源地址192.168.1.1發出的封包
- dst host 192.168.1.1 //揝取目標地址192.168.1.1收到的封包
- src host hostname //根據主機名過濾
- ether host 80:05:09:03:E4:35 //根據MAC地址過濾
- net 192.168.1 //過濾網段
- src net 192.168 //過濾來源網段
- dst net 192 //過濾目標網段
- 抓取所有目的地址是192.168.1.2 或192.168.1.3 埠是80 的TCP 資料
(tcp port 80) and ((dst host 192.168.1.2) or (dst host 192.168.1.3)) - 抓取所有目標MAC 地址是80:05:09:03:E4:35 的ICMP 資料
(icmp) and ((ether dst host 80:05:09:03:E4:35)) - 抓取所有目的網路是192.168,但目的主機不是192.168.1.2 的TCP 資料
(tcp) and ((dst net 192.168) and (not dst host 192.168.1.2)) - 捕獲主機192.168.1.1 和主機192.168.1.2 或192.168.1.3的通訊
host 192.168.1.1 and (192.168.1.2 or 192.168.1.3 ) - 獲取主機192.168.1.1除了和主機192.168.1.2之外所有主機通訊的封包
host 192.168.1.1 and ! 192.168.1.2 - 獲取主機192.168.1.1接收或發出的telnet包,telnet使用tcp 23埠
tcp port 23 and host 192.168.1.1
二、顯示過濾:完整的復現網路環境再加以過濾,較佔用記憶體
- 表達式
- 數據鏈路層:
- 篩選mac地址為04:f9:38:ad:13:26的數據包:eth.addr == 04:f9:38:ad :13:26
- 篩選源mac地址為04:f9:38:ad:13:26的數據包:eth.src == 04:f9:38:ad:13:26
- 抓取所有目標MAC 地址是80:05:09:03:E4:35 的ICMP 資料
- icmp && eth.dst==80:05:09:03:E4:35
- 網絡層:
- 篩選ip地址為192.168.1.1的數據包:ip.addr == 192.168.1.1
- 篩選192.168.1.0網段的數據:ip contains "192.168.1"
- 篩選192.168.1.1和192.168.1.2之間的數據包:ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2
- 篩選從192.168.1.1到192.168.1.2的數據包:ip.src == 192.168.1.1 && ip.dst = = 192.168.1.2
- ip.addr ==192.168.1.1 //顯示所有與192.168.1.1相關的封包
- ip.dst==192.168.1.1 //顯示目標是192.168.1.1的封包
- ip.src ==192.168.1.1 //顯示來源是192.168.1.1的封包
- ip.src==192.168.0.0/16 //網路過濾,過濾一個網段
- 傳輸層:
- 篩選tcp協議的數據包:tcp
- 篩選除tcp協議以外的數據包:!tcp
- 篩選端口為80的數據包:tcp.port == 80
- 篩選12345端口和80端口之間的數據包:tcp.port == 12345 && tcp.port == 80
- 篩選從12345端口到80端口的數據包:tcp.srcport == 12345 && tcp. dstport == 80
- 抓取所有目的地址是192.168.1.2 或192.168.1.3 埠是80 的TCP 資料
tcp.port==80 && (ip.dst==192.168.1.2 || ip.dst==192.168.1.3) - 應用層:
- http中http.request表示請求頭中的第一行(如GET index.jsp HTTP/1.1)
- http.response表示響應頭中的第一行(如HTTP/1.1 200 OK),其他頭部都用http.header_name形式。
- 篩選url中包含.php的http數據包:http.request.uri contains ".php"
- 篩選內容包含username的http數據包:http contains "username"
- http.request.method == POST
- http.request.method == GET
- http.response.code == 200
- 抓取所有目的網路是192.168,但目的主機不是192.168.1.2 的TCP 資料
tcp&&ip.dst==192.168.0.0/16&&!(ip.dst==192.168.1.2) - 捕獲主機192.168.1.1 和主機192.168.1.2 或192.168.1.3的通訊
ip.addr==192.168.1.1&&(ip.addr==192.168.1.2||ip.addr==192.168.1.3) - 獲取主機192.168.1.1除了和主機192.168.1.2之外所有主機通訊的封包
ip.addr==192.168.1.1&&!ip.addr==192.168.1.2 - 獲取主機192.168.1.1接收或發出的telnet包,telnet使用tcp 23埠
tcp.port==23&&ip.addr==192.168.1.1 - 過濾特定Protocol,可直接輸入協定名稱,例如http、https、ssl及ssh等。
- http.request //顯示GET(單純請求下載) or POST上傳資料
- http and not http.request //顯示網頁資料內容
- packet lost的查看
- tcp.analysis.flags tcp.flags.syn == 1
- tcp包的syn字段為1
- tco.flags.reset == 1
2021年1月19日 星期二
hping網路測試工具
如果防火牆或運營商屏蔽ICMP的話,hping可以對指定目標端口發起TCP探測,常用的參數:
- -p 端口號
- -S 發送TCP的SYN封包
- -A 發送TCP的ACK封包
- -a 偽造源IP
- --flood盡可能快的發送,慎用
- -c 100000 發送的數據包的數量。
- -d 120 發送到目標機器的每個數據包的大小。
- -w 64 TCP窗口大小。
- --rand-source 使用隨機性的源頭IP地址。還可以使用-a或–spoof來隱藏主機名。
輸入示例:
hping 192.168.3.13 -p 80 -S
hping 192.168.3.13 -p 80 -A
hping 192.168.3.13 -p 80 -S -a 192.168.3.13
hping -c 100000 -d 120 -S -w 64 -p 80 --flood --rand-source 192.168.3.13
2020年12月31日 星期四
ubuntu server備忘
- cat /etc/lsb-release 查詢ubuntu版本;uname -r查詢內核版本
- timedatectl set-timezone Asia/Taipei 更改時區
- 更改主機名稱
- sudo hostnamectl set-hostname newNameHere
- sudo vim /etc/hosts
- sudo reboot
- apt-get install net-tools
- Debian/Ubuntu 新增開機自動執行程式
- runlevel 定義:
- 0:關機 (Halt)
- 1:單一使用者模式 (single user mode)
- 2-5: 多使用者模式 (multi user mode)
- 6: 系統重啟 (reboot)
- service --status-all 開機時預設啟動哪些service (+啟用 -未啟用)
- systemctl enable service 開機時預設啟動該服務
- systemctl disable service 開機時預設關閉該服務
- systemctl start service 開啟服務
- systemctl stop service 關閉服務
- systemctl restart service 重新開啟服務
- systemctl status service 服務狀況
- lsof 可以列出系統上每一個行程所開啟的檔案列表
- -a 列出打開文件存在的行程
- -c<command> 列出指定command所打開的文件
- lsof -c vim
- -g 列出GID行程詳情
- -d<文件號> 列出占用該文件號的行程
- +d<目錄> 列出目錄下被打開的文件
- +D<目錄> 遞歸列出目錄下被打開的文件
- -n<目錄> 列出使用NFS的文件
- -i<條件> 列出符合條件的行程。(4、6、協議、:port、 @ip )
- lsof -i :53
- lsof -i tcp
- lsof -i :1-1024
- -p<行程號> 列出指定行程號所打開的文件
- -u 列出uid帳號行程詳情
- lsof -u bj,test,cat 列出多人之行程
- apt-get install traceroute
- ubuntu20.04的DNS由systemd-resolved管理,伺服器啟動即開啟53port,可更方式
- vim /etc/systemd/resolved.conf
將DNSStubListener=yes改為no(#拿掉) - mv /etc/resolv.conf /etc/resolv.conf.bak(將舊resolv.con備份)
- ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
- 透過 netplan 設定網路卡 IP
- /etc/network/interfaces裡面的設定(空的)已轉至/etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp0s3:
addresses:
- 192.168.1.5/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
search:
- wles.chc.edu.tw
version: 2 - 改完設定後執行:netplan try測試,無誤後執行:netplan apply
- ip link show 顯示目前網路執行狀況
- ip link set 網卡 up / down 啟用網卡或停用網卡
- samba成為PDC(參閱samba使用文件)(samba調校)
- smbstatus 指令查詢資源連線狀況
- 掛載網路硬碟
smbclient -L ip //IP -U username 列出分享資料夾
smbmount //IP/資料夾 /掛載點 -o username=帳號 掛載網路硬碟 - vim /etc/samba/smb.conf
[global]
security = USER
domain master = Yes
preferred master = Yes
os level = 65
wins support = Yes (搭配DHCP派送wins server為此伺服器)
server min protocol = NT1
client min protocol = NT1
#map to guest = bad user (mark掉,強迫帳號密碼驗證)
#usershare allow guests = yes (mark掉或no,分享檔案guest不可使用)
- - 以下可啟用samba符號連結(捷徑)功能 --
follow symlinks = yes
unix extensions = no
wide links = yes
[homes]
comment = Home Directories
read only = No
create mask = 0664
directory mask = 0755
valid users = %S
browseable = No - chmod g+s 資料夾(參閱)
- vim /etc/default/useradd
將SHELL=/bin/sh 改為 /usr/sbin/nologin - 掛載usb硬碟
- fdisk -l
- cd /mnt
- mkdir usb
- mount -v -t auto -o iocharset=utf8 /dev/sdb1 /mnt/usb
- -v 顯示資訊
- -t (auto讓系統自動分辯檔案系統,ext4,vfat,msdos)
- -o(iocharset= 設定字元編碼,如 big5,utf8)
- useradd指令只增加帳號不會自動新增home目錄(建議使用useradd -m 帳號)
- 批次新增使用者(無密碼,csv檔第3欄為帳號、第4欄為密碼,| sh執行)
awk -F, '{print "useradd -m " $3}' users.csv | sh - systemctl status cloud-init-local.service 偵測開機後cloud-init執行情形為active (exited),systemctl用法參見
- systemctl stop cloud-init-local.service可停止服務,開機後還後再執行
- touch /etc/cloud/cloud-init.disabled(在/etc/cloud/下增加cloud-init.disabled指令開機不再執行)
samba4在全局部分的 smb.conf 中添加了以下內容:
# Socket buffers should be huge:
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536
# Use sendfile for reading files efficiently:
use sendfile = yes
# Cache data before flushing to disk:
write cache size = 2097152
min receivefile size = 16384
getwd cache = true
2020年10月27日 星期二
1091028資訊研習
- 彰化Gsuite的應用
- 登入
- 進入線上教室(驗證您的身份-確定)
- 選擇「萬來教師同樂會」線上教室(如果沒有看到此教室可自行加入教室代號 22iq322)
- 檢视成員
- 嘗試出作業
- 評分完後發還給同學(同學才看得到成績)
- 作業全部發還後匯出總成績
- 進入線上教室後再點擊Meet連結(在課程設定中開啟讓學生看見)
- 按「立即加入」
- 請事前準備麥克風(必備)、網路攝影機(選配)
- 開啟電子書(如果學生在家上課,教師利用電子書教學)
- 在Meet右下角,點擊「立即分享螢幕畫面」(可選擇單視窗--電子書)
- 學生有問題,可點選Meet上方「即時通訊」圖示,將問題,打字出來。
- 點擊下方話筒圖示,即可停止通話。
- 萬來教師彰化Gsuite帳號一覽表(請先登入彰化Gsuite)
- 開啟試算表(例如填寫第二次月考成績優良學生名單)
- 開啟「共用」,設定可編輯的使用者(例如1~6年級導師)
- 智慧教室問卷填報(三1、四~六年級導師)
- 上傳一件教案至「教育大市集」平台,以各校既有教案為藍本,修改為教學過程中能運用智慧教室設備即可。
2020年10月21日 星期三
偵測cpu的方式
linux系統
- 實體cpu個數
- grep 'physical id' /proc/cpuinfo | sort -u|wc -l
- 核心數量
- grep 'core id' /proc/cpuinfo | sort -u | wc -l
- 執行緒數
- grep 'processor' /proc/cpuinfo | sort -u | wc -l
註:sort -u 排序只顯示單一紀錄, wc -l 計算文件行數
windows系統
可在 工作管理員 / 效能 / 虛擬處理器數量(執行緒數)
2020年8月4日 星期二
wget使用方法
啟動:
-V, --version 顯示 Wget 版本並離開
-h, --help 印出這段說明文字
-b, --background 啟動後進入背景作業
-e, --execute=指令 執行 ‘.wgetrc’ 形式的指令
紀錄訊息及輸入檔案:
-o, --output-file=檔案 將紀錄訊息寫入<檔案>中
-a, --append-output=檔案 將紀錄訊息加入<檔案>末端
-d, --debug 印出偵錯訊息
-q, --quiet 安靜模式 (不輸出訊息)
-v, --verbose 詳細輸出模式 (預設使用這個模式)
-nv, --non-verbose 關閉詳細輸出模式,但不啟用安靜模式
-i, --input-file=FILE download URLs found in local or external FILE.
-F, --force-html 以 HTML 方式處理輸入檔
-B, --base=URL resolves HTML input-file links (-i -F)
relative to URL.
下載:
-t, --tries=次數 設定重試次數 (0 表示無限)
--retry-connrefused 即使連線被拒仍然會不斷嘗試
-O --output-document=檔案 將資料寫入指定檔案中
-nc, --no-clobber 不覆寫已經存在的檔案
-c, --continue 繼續下載已下載了一部份的檔案
--progress=方式 選擇下載進度的表示方式
-N, --timestamping 除非遠端檔案比較新,否則不下載遠端檔案
-S, --server-response 顯示伺服器回應訊息
--spider 不下載任何資料
-T, --timeout=秒數 指定所有時限為同一數值
--dns-timeout=秒數 指定 DNS 查找主機的時限
--connect-timeout=秒數 指定連線時限
--read-timeout=秒數 指定讀取資料的時限
-w, --wait=秒數 每次下載檔案之前等待指定秒數
--waitretry=秒數 每次重覆嘗試前稍等一段時間 (由 1 秒至指
定秒數不等)
--random-wait 每次下載之前隨機地指定等待的時間
--no-proxy 禁止使用代理伺服器
-Q, --quota=大小 設定下載資料的限額大小
--bind-address=位址 使用本機的指定位址 (主機名稱或 IP) 進行連線
--limit-rate=速率 限制下載速率
--no-dns-cache 不記憶 DNS 查找主機的資料
--restrict-file-names=OS 只使用作業系統能夠接受的字元作為檔案字元
--ignore-case ignore case when matching files/directories.
-4, --inet4-only 只會連接 IPv4 地址
-6, --inet6-only 只會連接 IPv6 地址
--prefer-family=FAMILY 優先採用指定的位址格式,可以是 IPv6、IPv4
或者 none
--user=用戶 指定 ftp 和 http 用戶名稱
--password=PASS 指定 ftp 和 http 密碼
--ask-password prompt for passwords.
--no-iri turn off IRI support.
--local-encoding=ENC use ENC as the local encoding for IRIs.
--remote-encoding=ENC use ENC as the default remote encoding.
目錄:
-nd --no-directories 不建立目錄
-x, --force-directories 強制建立目錄
-nH, --no-host-directories 不建立含有遠端主機名稱的目錄
--protocol-directories 在目錄中加上通訊協定名稱
-P, --directory-prefix=名稱 儲存檔案前先建立指定名稱的目錄
--cut-dirs=數目 忽略遠端目錄中指定<數目>的目錄層
HTTP 選項:
--http-user=用戶 指定 HTTP 用戶名稱
--http-passwd=密碼 指定 HTTP 密碼
--no-cache 不使用伺服器中的快取記憶資料
--default-page=NAME Change the default page name (normally
this is `index.html'.).
-E, --adjust-extension save HTML/CSS documents with proper extensions.
--ignore-length 忽略 ‘Content-Length’ 標頭欄位
--header=字串 在連線資料標頭中加入指定字串
--max-redirect maximum redirections allowed per page.
--proxy-user=用戶 設定代理伺服器用戶名稱
--proxy-password=密碼 設定代理伺服器密碼
--referer=URL 在 HTTP 請求中包括 ‘Referer: URL’ 標頭
--save-headers 將 HTTP 連線資料標頭存檔
-U, --user-agent=AGENT 宣稱為 AGENT 而不是 Wget/VERSION
--no-http-keep-alive 不使用 HTTP keep-alive (持久性連線)
--no-cookies 不使用 cookie
--load-cookies=檔案 程式啟動時由指定檔案載入 cookie
--save-cookies=檔案 程式結束後將 cookie 儲存至指定檔案
--keep-session-cookies 會載入和儲存暫時性的 cookie
--post-data=字串 使用 POST 方式送出字串
--post-file=檔案 使用 POST 方式送出檔案內容
--content-disposition honor the Content-Disposition header when
choosing local file names (EXPERIMENTAL).
--auth-no-challenge send Basic HTTP authentication information
without first waiting for the server's
challenge.
HTTPS (SSL/TLS) 選項:
--secure-protocol=PR 選擇安全通訊協定,可以使用 auto, SSLv2,
SSLv3 或 TLSv1
--no-check-certificate 不檢驗伺服器的憑證
--certificate=檔案 指定用戶端的憑證檔案名稱
--certificate-type=類型 用戶端憑證的類型,可以是 PEM 或 DER
--private-key=檔案 指定私鑰檔案
--private-key-type=類型 私鑰的類型,可以是 PEM 或 DER
--ca-certificate=檔案 載有憑證管理中心 (CA) 簽章的檔案
--ca-directory=目錄 載有憑證管理中心 (CA) 簽章的目錄
--random-file=檔案 作為 SSL 隨機數產生程序 (PRNG) 的來源數據檔案
--egd-file=檔案 產生隨機數據的 EGD socket 檔案名稱
FTP 選項:
--ftp-user=用戶 指定 FTP 用戶名稱
--ftp-password=密碼 設定 FTP 密碼
--no-remove-listing 不刪除 ‘.listing’ 檔案
--no-glob 不展開有萬用字元的 FTP 檔名
--no-passive-ftp 不使用「被動」傳輸模式
--retr-symlinks 在遞迴模式中,下載鏈結指示的目標檔案
(不包括目錄)
遞迴下載:
-r, --recursive 遞迴下載
-l, --level=數字 最大搜尋深度 (inf 或 0 表示無限)
--delete-after 刪除下載後的檔案
-k, --convert-links make links in downloaded HTML or CSS point to
local files.
-K, --backup-converted 將檔案 X 轉換前先備份為 X.orig
-m, --mirror 相等於 -N -r -l inf --no-remove-listing 選項
-p, --page-requisites 下載所有顯示網頁所需的檔案,例如圖片等
--strict-comments 用嚴格方式 (SGML) 處理 HTML 注釋。
遞迴下載時有關接受/拒絕的選項:
-A, --accept=清單 接受的檔案樣式,以逗號分隔
-R, --reject=清單 排除的檔案樣式,以逗號分隔
-D, --domains=清單 接受的網域,以逗號分隔
--exclude-domains=清單 排除的網域,以逗號分隔
--follow-ftp 跟隨 HTML 文件中的 FTP 鏈結
--follow-tags=清單 會跟隨的 HTML 標籤,以逗號分隔
-G, --ignore-tags=清單 會忽略的 HTML 標籤,以逗號分隔
-H, --span-hosts 遞迴模式中可進入其它主機
-L, --relative 只跟隨相對鏈結
-I, --include-directories=清單 準備下載的目錄
-X, --exclude-directories=清單 準備排除的目錄
-np, --no-parent 不進入上層的目錄
本文引自宜蘭教育資源網
訂閱:
文章 (Atom)

