常用命令

    ifconfig eth0 down                  # 禁用网卡 
    ifconfig eth0 up                    # 启用网卡 
    ifup eth0:0                         # 启用网卡 
    mii-tool em1                        # 查看网线是否连接 
    traceroute www.baidu.com            # 测试跳数 
    vi /etc/resolv.conf                 # 设置DNS  nameserver IP 定义DNS服务器的IP地址 
    nslookup www.baidu.com               # 解析域名IP 
    dig -x www.baidu.com                # 解析域名IP 
    dig +short txt hacker.wp.dg.cx      # 通过 DNS 来读取 Wikipedia 的hacker词条 
    host -t txt hacker.wp.dg.cx         # 通过 DNS 来读取 Wikipedia 的hacker词条 
    tcpdump tcp port 22                 # 抓包 
    lynx                                # 文本上网 
    wget -P 路径 http地址               # 下载  
    dhclient eth1                       # 自动获取IP 
    mtr -r www.baidu.com                # 测试网络链路节点响应时间 # trace ping 结合 
    ipcalc -m "$ip" -p "$num"           # 根据IP和主机最大数计算掩码 
    curl -I www.baidu.com               # 查看网页http头 
    curl -s www.baidu.com               # 不显示进度 
    queryperf -d list -s DNS_IP -l 2    # BIND自带DNS压力测试  [list 文件格式:www.turku.fi A] 
    telnet ip port                      # 测试端口是否开放,有些服务可直接输入命令得到返回状态 
    echo "show " |nc $ip $port          # 适用于telnet一类登录得到命令返回 
    curl -o /dev/null -s -m 10 --connect-timeout 10 -w %{http_code} $URL  # 检查页面状态 
    curl -d "user=xuesong&pwd=123" http://www.abc.cn/Result               # 提交web页面表单 需查看表单提交地址 
    curl -s http://20140507.ip138.com/ic.asp                              # 通过IP138取本机出口外网IP 
    rsync -avzP -e "ssh -p 22" /dir user@$IP:/dir                         # 同步目录 # --delete 无差同步 删除目录下其它文件 
    sshpass -p "$passwd"  rsync -avzP -e "ssh -p 22" /dir  user@$IP:/dir/ # 指定密码避免交互同步目录 
    ifconfig eth0:0 192.168.1.221 netmask 255.255.255.0                   # 增加逻辑IP地址 
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all                      # 禁ping 
    net rpc shutdown -I IP_ADDRESS -U username%password                   # 远程关掉一台WINDOWS机器 
    wget --random-wait -r -p -e robots=off -U Mozilla www.toxingwang.com     # 递归方式下载整个网站

route 路由:

        route                           # 查看路由表 
        route add default  gw 192.168.1.1  dev eth0                        # 添加默认路由 
        route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.39.111.254     # 添加静态路由网关 
        route del -net 172.16.0.0 netmask 255.255.0.0 gw 10.39.111.254     # 删除静态路由网关

网卡配置文件

        vi /etc/sysconfig/network-scripts/ifcfg-eth0

        DEVICE=eth0 
        BOOTPROTO=none 
        BROADCAST=192.168.1.255 
        HWADDR=00:0C:29:3F:E1:EA   #可不用 
        IPADDR=192.168.1.55 
        NETMASK=255.255.255.0 
        NETWORK=192.168.1.0 
        ONBOOT=yes 
        TYPE=Ethernet 
        GATEWAY=192.168.1.1 
        #ARPCHECK=no     # 进制arp检查

网卡流量查看

        watch more /proc/net/dev    # 实时监控流量文件系统 累计值 
        iptraf                      # 网卡流量查看工具 
        nethogs -d 5 eth0 eth1      # 按进程实时统计网络流量 epel源nethogs

sar命令

            -n参数有6个不同的开关: DEV | EDEV | NFS | NFSD | SOCK | ALL 
            DEV显示网络接口信息 
            EDEV显示关于网络错误的统计数据 
            NFS统计活动的NFS客户端的信息 
            NFSD统计NFS服务器的信息 
            SOCK显示套 接字信息 
            ALL显示所有5个开关 
            sar -n DEV 1 10 
            rxpck/s   # 每秒钟接收的数据包 
            txpck/s   # 每秒钟发送的数据包 
            rxbyt/s   # 每秒钟接收的字节数 
            txbyt/s   # 每秒钟发送的字节数 
            rxcmp/s   # 每秒钟接收的压缩数据包 
            txcmp/s   # 每秒钟发送的压缩数据包 
            rxmcst/s  # 每秒钟接收的多播数据包

netstat命令

        # 几十万并发的情况下netstat会没有响应,建议使用 ss 命令 
        -a     # 显示所有连接中的Socket 
        -t     # 显示TCP连接 
        -u     # 显示UDP连接 
        -n     # 显示所有已建立的有效连接 
        netstat -anlp           # 查看链接 
        netstat -r              # 查看路由表

ss命令

# netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

        ss -s          # 列出当前socket详细信息 
        ss -l          # 显示本地打开的所有端口 
        ss -pl         # 显示每个进程具体打开的socket 
        ss -t -a       # 显示所有tcp socket 
        ss -u -a       # 显示所有的UDP Socekt 
        ss dst 192.168.119.113         # 匹配远程地址 
        ss dst 192.168.119.113:http    # 匹配远程地址和端口号 
        ss dst 192.168.119.113:3844    # 匹配远程地址和端口号 
        ss src 192.168.119.103:16021   # 匹配本地地址和端口号 
        ss -o state established '( dport = :smtp or sport = :smtp )'        # 显示所有已建立的SMTP连接 
        ss -o state established '( dport = :http or sport = :http )'        # 显示所有已建立的HTTP连接 
        ss -x src /tmp/.X11-unix/*         # 找出所有连接X服务器的进程

并发数查看

        netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 
        SYN_RECV     # 正在等待处理的请求 
        ESTABLISHED  # 正常数据传输状态,既当前并发数 
        TIME_WAIT    # 处理完毕,等待超时结束的请求

nmap常用操作:

        nmap -PT 192.168.1.1-111             # 先ping在扫描主机开放端口 
        nmap -O 192.168.1.1                  # 扫描出系统内核版本 
        nmap -sV 192.168.1.1-111             # 扫描端口的软件版本 
        nmap -sS 192.168.1.1-111             # 半开扫描(通常不会记录日志) 
        nmap -P0 192.168.1.1-111             # 不ping直接扫描 
        nmap -d 192.168.1.1-111              # 详细信息 
        nmap -D 192.168.1.1-111              # 无法找出真正扫描主机(隐藏IP) 
        nmap -p 20-30,139,60000-             # 端口范围  表示:扫描20到30号端口,139号端口以及所有大于60000的端口 
        nmap -P0 -sV -O -v 192.168.30.251    # 组合扫描(不ping、软件版本、内核版本、详细信息) 
        # 不支持windows的扫描(可用于判断是否是windows) 
        nmap -sF 192.168.1.1-111 
        nmap -sX 192.168.1.1-111 
        nmap -sN 192.168.1.1-111

流量切分线路

        # 程序判断进入IP线路,设置服务器路由规则控制返回 
        vi /etc/iproute2/rt_tables 
        #添加一条策略 
        252   bgp2  #注意策略的序号顺序 
        ip route add default via 第二个出口上线IP(非默认网关) dev eth1 table bgp2 
        ip route add from 本机第二个ip table bgp2 
        #查看 
        ip route list table 252 
        ip rule list 
        #成功后将语句添加开机启动

snmp

        snmptranslate .1.3.6.1.2.1.1.3.0    # 查看映射关系 
        DISMAN-EVENT-MIB::sysUpTimeInstance 
        snmpdf -v 1 -c public localhost                            # SNMP监视远程主机的磁盘空间 
        snmpnetstat -v 2c -c public -a 192.168.6.53                # SNMP获取指定IP的所有开放端口状态 
        snmpwalk -v 2c -c public 10.152.14.117 .1.3.6.1.2.1.1.3.0  # SNMP获取主机启动时间 
        # MIB安装(ubuntu) 
        # sudo apt-get install snmp-mibs-downloader 
        # sudo download-mibs 
        snmpwalk -v 2c -c public 10.152.14.117 sysUpTimeInstance   # SNMP通过MIB库获取主机启动时间