从下到上FIN—SYN—RST—PSH—ACK—URG 1 2 4 8 16 32
ans,unans=sr(respose) ans.show() 0000 IP / TCP 192.168.80.250:8888 > 10.202.32.1:ssh S ==> IP / TCP 10.202.32.1:ssh > 192.168.80.250:8888 SA / Padding 0001 IP / TCP 192.168.80.250:8888 > 10.202.32.74:microsoft_ds S ==> IP / TCP 10.202.32.74:microsoft_ds > 192.168.80.250:8888 SA / Padding 0002 IP / TCP 192.168.80.250:8888 > 10.202.32.74:netbios_ns S ==> IP / TCP 10.202.32.74:netbios_ns > 192.168.80.250:8888 RA / Padding 0003 IP / TCP 192.168.80.250:8888 > 10.202.32.74:netbios_ssn S ==> IP / TCP 10.202.32.74:netbios_ssn > 192.168.80.250:8888 SA / Padding 对数据进行监控: sniff(iface="eth0",prn=lambda x:x.show() ) 对数据进行查看处理: ans.summary( lambda(s,r): r.sprintf("%IP.src% \t %TCP.sport% \t %TCP.flags%") ) 10.200.230.1 ssh SA 10.200.230.11 3389 SA 10.200.230.11 loc_srv SA 10.200.230.11 microsoft_ds SA 10.200.230.12 3389 SA 10.200.230.12 https SA 10.200.230.40 3389 SA 10.200.230.41 3389 SA 10.200.230.42 loc_srv SA 10.200.230.42 microsoft_ds SA 10.200.230.50 3389 SA 二、TCP ACK 扫描; i=IP() i.dst='10.200.193.0/24' t=TCP() t.flags='A' t.sport=9999 t.dport=[3389,21,22,23,80,443] respose=(i/t) ans,unans=sr(respose) ans.show() 0000 IP / TCP 192.168.80.250:9999 > 10.200.193.0:3389 A ==> IP / TCP 10.200.193.0:3389 > 192.168.80.250:9999 R / Padding 0001 IP / TCP 192.168.80.250:9999 > 10.200.193.0:ftp A ==> IP / TCP 10.200.193.0:ftp > 192.168.80.250:9999 R / Padding 0002 IP / TCP 192.168.80.250:9999 > 10.200.193.0:ssh A ==> IP / TCP 10.200.193.0:ssh > 192.168.80.250:9999 R / Padding 0003 IP / TCP 192.168.80.250:9999 > 10.200.193.0:telnet A ==> IP / TCP 10.200.193.0:telnet > 192.168.80.250:9999 R / Padding 如果服务器返回一个带有 RST 标识的 TCP 数据包,则说明端口没有被过滤,不存在状态防火墙。 对数据进行监控: sniff(iface="eth0",prn=lambda x:x.show() ) 对数据进行查看处理: ans.summary( lambda(s,r): r.sprintf("%IP.src% \t %TCP.sport% \t %TCP.flags% \t %ICMP.type%") ) 10.200.193.1 3389 R ?? 10.200.193.1 ftp R ?? 10.200.193.1 ssh R ??