《linux shell 脚本编程攻略 (第2版)》 第七章 “无网不利”笔记

常用命令:ifocnfig, host, nslookup, dhclient, route, ping, fping, nc, lsof, netstat, iwconfig, ssh, sshfs, firewall, &子进程

  • 打印网络接口列表ifconfig | cut -c-10 | tr -d ' ' | tr -s '\n'

  • 提取IP地址ifconfig em1 | grep -E -o "inet addr:[^ ]*" | grep -o "[0-9.]*"

  • 硬件地址欺骗ifconfig em1 hw ether 00:1c:bf:87:25:d5

  • 分配给当前系统的域名服务器cat /etc/resolv.conf

  • host codeshold.me(/ect/hosts), nslookup codeshold.me

  • dhclient em1

  • route add deafult gw IP_ADDRESS INTERFACE_NAME, route add default gw 192.168.0.1 wlan0

  • ping -c 2 codeshold.me, 列出网上所有活动的主机fping

  • 通过&加速脚本执行速度,并行执行, wait等待所有子进程结束后在退出 脚本

  • fping -a 192.160.1/24 -g, fping -a < ip.list

  • ESSID(Extended Service Set Identification) iwconfig 脚本

  • ssh 端口转发

    1. ssh -L 8000:www.codeshold.me:80 user@localhost 将本地端口8000的流量转发到www.codeshold.me:80上
    2. ssh -fL 8000:www.codeshold.me:80 user@localhost -N, -f后台运行, -N无需执行命令,只进行端口转发
    3. 反向端口转发: ssh -R 8000:localhost:80 user@REMOTEMACHINE
  • 在本地挂载远程驱动器

    1. sshfs -o allowother user@remotehost:/home/path /mnt/mountpoint
    2. umount /mnt/mountpoint
  • 列出本地主机当前的开放端口 lsof -i | grep ":[0-9]\+->" -o | grep "[0-9]\+" -o | sort | uniq

  • netstat -tnp

  • 创建网络套接字 nc -l 1234, nc HOST 1234; nc -l 1234 > destionationfilename, nc HOST 1234 < sourcefilename

  • iptables互联网连接共享 脚本