使用Python提取Nmap特定状态IP地址

版权

本文首发于soarli博客,转载请注明来源。传送门

由于一个细微的逻辑疏忽,导致折腾了半小时左右,问题已经得以解决。

代码

1.0版本

import os
import re

f1 = open('D:/283389.txt',"r")
f2 = open('D:/283389.txt',"r")
line = f1.readline()
subline = 'open'
subline2 = 'filtered'
#line.replace(' ', '')
print('端口状态为open的ip地址:')
while line:
    flag = re.findall(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", line)
    if (flag!=[]):
        ip = flag
    if subline in line:
        print(ip)
        #print(line)
    line = f1.readline()
f1.close()

line2 = f2.readline()
print('端口状态为filtered的ip地址:')
while line2:
    flag = re.findall(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", line2)
    if (flag!=[]):
        ip = flag
    if subline2 in line2:
        print(ip)
        #print(line)
    line2 = f2.readline()
    
f2.close()

2.0版本

import os
import re

filenmae = input("请输入nmap输出文件目录:")
print('')
f1 = open(filenmae,"r")
f2 = open(filenmae,"r")
f3 = open(filenmae,"r")
line = f1.readline()
subline = 'open'
subline2 = 'filtered'
subline3 = 'closed'
#line.replace(' ', '')
print('端口状态为open的ip地址:')
while line:
    flag = re.findall(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", line)
    if (flag!=[]):
        ip = flag
    if subline in line:
        print(ip[0])
        #print(line)
    line = f1.readline()
f1.close()

line2 = f2.readline()
print('端口状态为filtered的ip地址:')
while line2:
    flag = re.findall(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", line2)
    if (flag!=[]):
        ip = flag
    if subline2 in line2:
        print(ip[0])
        #print(line)
    line2 = f2.readline()

line3 = f3.readline()
print('端口状态为closed的ip地址:')
while line3:
    flag = re.findall(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", line3)
    if (flag!=[]):
        ip = flag
    if subline3 in line3:
        print(ip[0])
        #print(line)
    line3 = f3.readline()
f3.close()

参考文章:
https://www.runoob.com/python/python-reg-expressions.html

https://www.runoob.com/python/python-reg-expressions.html#flags

https://blog.csdn.net/weixin_30437481/article/details/101540482

https://www.runoob.com/python/python-lists.html

http://c.biancheng.net/view/2546.html

https://blog.csdn.net/zhengxiangwen/article/details/55148287

https://blog.csdn.net/quiet_girl/article/details/80113591

https://blog.csdn.net/haoaiqian/article/details/70228177

http://www.mzh.ren/python-5-ways-to-check-string-contains-substring.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值