获取访问网址出去ip

def getip():
    
    def visit(url):
        opener = urllib2.urlopen(url)
        if url == opener.geturl():
            str = opener.read()
        return re.search('\d+\.\d+\.\d+\.\d+', str).group(0)

    try:
        myip = visit("http://pv.sohu.com/cityjson?ie=utf-8")
    except:
        try:
            myip = visit("http://w.1616.net/chaxun/iptolocal.php")
        except:
            try:
                myip = visit("http://www.ip138.com/ip2city.asp")
            except:
                myip = "218.107.55.252"
    return myip

### 查看防火墙规则中的允许访问外部 IP 地址 对于 Linux 系统,特别是使用 `iptables` 的环境,可以通过命令行工具来查看当前的防火墙规则列表以及其中涉及的具体 IP 和端口信息。 #### 使用 iptables 命令查看规则 要查看现有的 `iptables` 规则并找到哪些外部 IP 被允许连接到服务器上的特定服务(比如 PostgreSQL),可以运行如下命令: ```bash iptables -L -n --line-numbers | grep "dpt:5432" ``` 这条命令会列出所有针对目标端口 5432 (PostgreSQL 默认端口号) 的入站规则,并显示其对应的源 IP 或者网络范围。选项 `-n` 可以防止 DNS 解析从而加快速度;而 `--line-numbers` 则会在每条规则前加上编号以便于管理[^1]。 如果是在较新的基于 firewalld 的 CentOS/RHEL 发行版上,则应采用不同的方法查询: ```bash firewall-cmd --list-all-zones | less ``` 这将展示各个区域内的活动规则集,包括任何自定义的服务或端口转发规则。为了更精确地定位有关 PostgreSQL 访问的信息,还可以尝试下面这个更为具体的命令: ```bash firewall-cmd --zone=public --list-rich-rules ``` 该指令专门用于检索富语言表达式的规则,这些通常包含了更加详细的条件描述,如来自哪个 IP 地址的数据包才被允许通过[^3]。 #### Windows 防火墙情况下的操作方式 在 Windows 上想要了解已设定好的例外项及其关联的远程主机地址,可通过图形界面完成这一过程,也可以借助 PowerShell 来获取同样的信息。以下是利用后者的方法之一: ```powershell Get-NetFirewallRule -Direction Inbound -Enabled True | Where-Object { $_.RemoteAddress -ne 'Any' } | Select-Object DisplayName, RemoteAddress ``` 这段脚本筛选出了所有的启用状态为真的内向规则,并进一步过滤掉那些不限制来源地址的情况,最终输出的是每个匹配规则的名字连同它所限定的一组或多组远端 IP 地址[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值