python 之返回本机外网IP

server 端

#!/usr/local/anaconda3/bin/python

import socket
import threading

# ====================================================
# Author: chang - EMail:[email protected]
# Last modified: 2017-06-20
# Filename: sendoutip.py
# Description: send u out ip ,base socket
# blog:http://www.cnblogs.com/changbo
# ====================================================

port = 8899
host = ‘x.x.x.xxx‘

def sendOut():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind((host, port))
    s.listen(5)

    while True:
        connection, address = s.accept()
        ip, _ = address
        ip = (str(ip)).encode(‘utf-8‘)
        while True:
            data = connection.recv(1024)
            if not data:
                break
            connection.send(ip)
            # s.close()
        connection.close()
    s.close()

if __name__ == ‘__main__‘:
    t = threading.Thread(target=sendOut)
    t.start()

client 端

#!/usr/local/anaconda3/bin/python

import socket
import struct

# ====================================================
# Author: chang - EMail:[email protected]
# Last modified: 2017-06-20
# Filename: sendoutip.py
# Description: send u out ip ,base socket
# blog:http://www.cnblogs.com/changbo
# ====================================================

port = 8899
host = ‘x.x.x.x‘

def getOut():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((host, port))
    data = ‘hi‘
    s.send(str(data).encode(‘utf-8‘))
    results = s.recv(1024)

    print(str(results, ‘utf-8‘))
    s.close()

if __name__ == ‘__main__‘:
    getOut()

END!

时间: 2024-08-13 21:08:24

python 之返回本机外网IP的相关文章

php 通过ip获取所在城市地址信息 获取计算机外网ip

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

获取本机外网IP的工具类

ExternalIpAddressFetcher.java package com.tyust.common; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.regex.Matcher; import java

用Linux命令行获取本机外网IP地址

用Linux命令行获取本机外网IP地址 $ curl ifconfig.me$ curl icanhazip.com$ curl ident.me$ curl ipecho.net/plain$ curl whatismyip.akamai.com$ curl tnx.nl/ip$ curl myip.dnsomatic.com$ curl ip.appspot.com$ curl -s checkip.dyndns.org | sed 's/.*IP Address: \([0-9\.]*\)

获取本机外网ip和内网ip

获取本机外网ip 1 //获取本机的公网IP 2 public static string GetIP() 3 { 4 string tempip = ""; 5 try 6 { 7 WebRequest request = WebRequest.Create("http://ip.qq.com/"); 8 request.Timeout = 10000; 9 WebResponse response = request.GetResponse(); 10 Stre

Windows Azure 配置实现虚拟机外网IP绑定(云服务)

我们上一篇介绍了如何对已存在的虚拟网络的外网IP做绑定,今天主要介绍配置实现虚拟机外网绑定,两者区别在于一个已存在,一个不存在,如果不存在的话,我们需要新建一个云服务,同时对新建的云服务做标记,标记后,可创建对应得虚拟机来完成外网IP绑定,具体见下:首先注意配置保留虚拟机外网IP需要注意以下事项 一. 操作前的注意事项: 1. 如果虚拟机要使用虚拟网络,只能在Regional Vnet中使用ReservedIP,已经有部署的基于地缘组的虚拟网络无法直接转换为Regional Vnet 2. 这个

Window、Linux查看本机外网ip

前言 我们上网用的IP并不一定是本机网卡的IP地址,由于公网IP地址稀少,国内绝大多数电脑上网,一般都是通过拨号或者端口映射.多个内网地址映射到一个公网地址来实现上网的. 目录 1.查看本机网卡ip 2.查看本机外网ip上网ip 3.路由跟踪查询上网-网关ip 查看本机网卡IP Windows 查看本地IP ipconfig Linux 查看本地IP ifconfig 查看本机外网IP\上网IP 内网ip要访问外网,需要通过NAT(Network Address Translation)技术,将

Linux终端中获取本机外网 IP 的方法

在终端中输入 curl ipinfo.io 或者 curl ifconfig.me 即可通过IP地址检测网站提供的api获得取本机的外网IP,或者以 JSON 格式返回全部结果.

Docker一台服务器部署多容器,容器A无法通过宿主机外网ip访问另外一个容器B分析

首先出现这个问题,都是iptables ---input chain 设置了默认Policy 为 Drop导致的(如果默认全都是 accept或者没有其他拒绝策略,肯定是没问题的.) 这是我服务器上的INPUT规则如下: 3306 ,6379那几个, 分别是mysql容器和 redis容器对应的端口号,第一行表示,input默认策略是 Drop. 这台服务器的结构很简单,就是一张外网网卡, 直接接外网,eth0 ,  ip=101.*.*.*,   然后docker0网桥,  172.17.0.

获取本机外网ip地址

package com.ning; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; public class Listip { public static void main(String[] args) throws Exception { System.out.println("本机的外网IP是:" //+ Listip.getWebIp("http