2021年9月25日 星期六

Ventoy - 免費USB多重系統選單開機碟的新世代製作工具(在manjaro系統的應用)

  1. sudo pacman -S ventoy
  2. 開啟終端機 sudo sh ventoyweb
  3. 打開瀏覽器 http://127.0.0.1:24680/
    • 選項
      • 支援 Secure Boot 不啟動(預設)
      • 分區格式 MBR(預設)
      • 分區配置(第一磁區預留100GB左右,第二磁區fat16格式32MB,其他留給第三磁區--以2TB隨身硬碟,第三區可留1750GB左右)
    • 安裝
  4. 參考資料:官網
MBR分區格式(取自官網)

2021年9月16日 星期四

manjaro gnome,xfce初探

  1. sudo pacman-mirrors --fasttrack(/etc/pacman.d/mirrorlist
  2. 規畫成UEFI 系統,在規畫磁區時
    • 創建GUID分割區表格(GPT)
    • 建立約50MB FAT32 /boot/efi磁區(設定旗標為bios-grub、boot、esp)
  3. sudo pacman -S vim traceroute net-tools fcitx5 fcitx5-configtool fcitx5-qt fcitx5-table-extra fcitx5-chewing manjaro-asian-input-support-fcitx5 yay
  4. XFCE版本echo "alias ll='ls -alh --color=auto -F'" >> .bashrc(順便也幫root加上吧)
    Gnome版本echo "alias ll='ls -alh --color=auto -F'" >> .zshrc (順便也幫root加上吧)
  5. firefox安裝downloadhelper , Easy Youtube Video Downloader Express
  6. sudo pacman -S firefox-i18n-zh-tw chromium libreoffice-still libreoffice-still-zh-tw wqy-zenhei avidemux-qt cheese gimp inkscape kdenlive opencv plasma-desktop opentimelineio k3b dvd+rw-tools cdrdao mpv mplayer totem arc-solid-gtk-theme pdfarranger wine wine-mono audacious vlc simplescreenrecorder
  7. kdenlive在匯出格式為mp4時,建議把parallel processing (experimental)選項取消掉。該選項啟用所有的cpu線程平行處理,目前為實驗階段,容易造成渲染(匯出)失敗。
    kdenlive動態追蹤需安裝額外套件 sudo pacman -Sy sox movit opencv rtaudio
  8. yay -Sy google-chrome vdhcoapp
  9. 電腦教室選配(KDE)
    • sudo pacman -Syu qtqr kolourpaint pingus supertux supertuxkart palapeli kubrick ksquares knetwalk ksudoku blinken picmi katomic kblackbox kigo kreversi kfourinline bovo kblocks gcompris-qt ktuberling kgeography parley kanagram jhead
    • yay -S  tuxtype stellarium  xmind8 kde-service-menu-reimage mlink(mblock網頁連線程式必須在終端機sudo mblock-mlink start才能連線)
      • xmind8需安裝jre8-openjdk
      • kde-service-menu-reimage可以在Dolphin檔案總案增加縮圖、旋轉圖選項。(需安裝jhead套件)
      • 更改xmind8設定檔/usr/share/xmind/XMind/XMind.ini
        • vm環境需更改正確,例改為/usr/lib/jvm/java-8-openjdk/jre/bin/java
  10. 使用者管理
    • Gnome-layout-switcher 佈局切換(Gnome版本Layouts工具)
    • 取消三次密碼錯誤,10分鐘以​​後解鎖(Gnome版本)
      • sudo vim /etc/security/faillock.conf
        deny = 0
    • 使用命令行工具 nmcli 控制 NetworkManager並查詢相關網路資料(如:DNS server為何)
    • sudo pacman -S nautilus-image-converter(gnome版預設檔案總管nautilus檔案總管批次縮圖、旋轉圖片)
    • 移除Chrome 瀏覽器會要求"輸入預設鑰匙圈的密碼"(在「密碼及加密金鑰」應用程式移除),另外一種作法:~/.local/share/keyrings/* ,重新啟用chrome,會再問預設密碼,直接Enter跳過。
電腦教室xfce版調校
  • sudo pacman -R steam-manjaro
  • 外觀建議選擇arc-solid,圖示選擇暗色系列,xfce4-screenshooter螢幕擷取設為喜歡
  • xmind /工具/個人化設定/版面設定 字大小14, /工具/個人化設定/外觀設定 視窗風格GTK
  • 遊戲supertux2 / 第3項options(前2項start game、Addions) / 第1項select language / 最後項為繁體中文(第一項English)
  • 工作階段將clipman 與 MSM Notifier 關閉
  • samba網路芳鄰client端
    • 預設已裝gvfs-smb、samba
    • 不用另行安裝manjaro-settings-samba,可自行建立/etc/samba/smb.conf
    • 關閉port631(cups網際網路列印協定)
      • sudo systemctl stop cups(暫時停用cups)
      • sudo systemctl disable cups(永久停用cups)

2021年5月20日 星期四

google Meet使用筆記

 一、學生不可能成為Meet會議主持(辦)人

我模擬學生實地操作一遍,在會議還沒有開啟的情況下開啟,發生錯誤

在會議有開啟,但老師還沒有進入會議,發生錯誤

2021年2月4日 星期四

routeros常用指令

  1. 設定網卡名稱
    1. /interface
    2. print
    3. set 0 name=lan
    4. set 1 name=wan
  2. 設定IP
    1. /ip address
    2. print
    3. add address=172.16.1.11/16 interface=lan //新增介面lan之IP
    4. remove 編號 //刪除某介面之IP
    5. set 編號 address=172.16.1.11/16 interface=lan
    6. 新增ADSL連線(pppoe client連線)
      1. /interface ppoe-client
      2. 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
  3. 新增路由
    1. /ip route
    2. print
    3. /add gateway=遠端路由IP
    4. add dst-address=192.168.2.0/24 gateway=172.16.1.2
  4. 設定Dns
    1. /ip dns
    2. print
    3. set servers=8.8.8.8,168.95.1.1 allow-remote-requests=no
  5. Nat上網
    1. SNAT
      1. add chain=srcnat action=src-nat to-addresses=對外代表IP src-address=172.16.0.0/16
      2. add chain=srcnat action=masquerade to-addresses=218.32.127.167 out-interface=pppoe-sdtv(三大)
    2. DNAT
      1. add chain=dstnat action=dst-nat to-addresses=172.16.1.2 dst-address=163.23.115.68
  6. 網路偵測
    1. /ping ip
    2. /tool traceroute ip
  7. 建立dhcp server
    1. 新增 ip pool
      1. /ip pool
      2. print
      3. add name=pool名稱 range=ip範圍
    2. 新增 dhcp server服務
      1. /ip dhcp-server
      2. print
      3. add disabled=no name=名稱 address-pool=pool名稱 interface=網卡名竹木月土月
  8. 使用者管理
    1. /user
    2. print
    3. add name=test group=read 
  9. 關閉dhcp相關log檔
    1. /log
    2. print
    3. /system/logging
    4. add action=memory disabled=yes prefix=dhcp topics=debug
  10. vpn(使用pptp協定)
    1. 建立vpn_pool
      1. /ip pool
      2. print
      3. add name=vpn_pool ranges=172.16.4.100-172.16.4.200
    2. 建立PPTP Server 的環境(local-address校內網路預設路由,remote-address登入後之IP)
      1. /ppp profile
      2. print
      3. 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)
    3. 設定與啟(停)用 pptp server
      1. /interface pptp-server server
      2. print
      3. set authentication=chap,mschap1,mschap2 default-profile=PPTP_profile enabled=yes
      4. set enabled=yes(or no)
    4. 設定Client端之連線帳號(從家中登入的帳號密碼)
      1. /ppp secret
      2. print (密碼會以明碼呈現)
      3. add name=帳號 password=密碼 profile=PPTP_Profile service=pptp
    5. 防火牆過濾予通過(pptp使用1723port)
      1. add chain=input dst-port=1723 protocol=tcp
      2. add chain=input protocol=gre
  11. CLOSE_WAIT連接過多的現象分析與處理(原因參見
    • 縮短client的keep-alive時間
    • 延長server的keep-alive時間
  12. 整合第二外線(參見阿堯老師

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
本文參考自 ITREAD01,語法可參見程式前沿

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備忘

  1. cat /etc/lsb-release 查詢ubuntu版本;uname -r查詢內核版本
  2. timedatectl set-timezone Asia/Taipei 更改時區
  3. 更改主機名稱
    1. sudo hostnamectl set-hostname newNameHere
    2. sudo vim /etc/hosts
    3. sudo reboot
  4. apt-get install net-tools
  5. Debian/Ubuntu 新增開機自動執行程式
    1. runlevel 定義:
      • 0:關機 (Halt)
      • 1:單一使用者模式 (single user mode)
      • 2-5: 多使用者模式 (multi user mode)
      • 6: 系統重啟 (reboot)
    2. service --status-all 開機時預設啟動哪些service (+啟用 -未啟用)
      • systemctl enable service 開機時預設啟動該服務
      • systemctl disable service 開機時預設關閉該服務
      • systemctl start service 開啟服務
      • systemctl stop service 關閉服務
      • systemctl restart service 重新開啟服務
      • systemctl status service 服務狀況
  6. 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 列出多人之行程
  7. apt-get install traceroute
  8. 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
  9. 透過 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
  10. ip link show 顯示目前網路執行狀況
    • ip link set 網卡 up / down 啟用網卡或停用網卡
  11. samba成為PDC(參閱samba使用文件)(samba調校)
    1. smbstatus 指令查詢資源連線狀況
    2. 掛載網路硬碟
      smbclient -L ip //IP -U username 列出分享資料夾
      smbmount //IP/資料夾 /掛載點 -o username=帳號 掛載網路硬碟
    3. 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
  12. chmod g+s 資料夾(參閱
  13. vim /etc/default/useradd
    將SHELL=/bin/sh 改為 /usr/sbin/nologin
  14. 掛載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