返回列表 发帖
#!/usr/bin/env python3
#coding=utf-8
import os
port = ":3389"
for n in os.popen("netstat -n").read().split("\n"):
    if n.find(port) > -1:
        print(n.split(":")[0].split(" ")[-1])COPY
QQ:1972544783

TOP

回复 4# 1073


    为什么要隐藏控制台,这个本来就是控制台程序
QQ:1972544783

TOP

#!/usr/bin/env python3
#coding=utf-8
import subprocess
port = ":3389"
proc = subprocess.Popen("netstat -n", stdout = subprocess.PIPE)
try:
    outs, errs = proc.communicate(timeout=15)
except TimeoutExpired:
    proc.kill()
    outs, errs = proc.communicate()
for n in outs.decode("GBk").split("\n"):
    if n.find(port) > -1:
        print(n.split(":")[0].split(" ")[-1], end="", flush=True)COPY
QQ:1972544783

TOP

回复 7# 1073


    不显示,怎么得到ip
QQ:1972544783

TOP

回复 9# 1073


    我只知道STARTUPINFO这个参数可以隐藏窗口,或者一些没有给定nCmdShow参数的GUI程序
QQ:1972544783

TOP

回复 9# 1073


    C# 效率高很多
using System;
using System.IO;
using System.Diagnostics;
class CreateDir
{
    static void Main()
    {   
        string flag = ":3389";
        
        try
        {
            Process netstat = new Process();
            netstat.StartInfo.FileName = "netstat";
            // netstat.StartInfo.CreateNoWindow = true;
            netstat.StartInfo.UseShellExecute = false;
            netstat.StartInfo.RedirectStandardOutput = true;
            netstat.StartInfo.Arguments = "-n";
            
            netstat.Start();
            StreamReader reader = netstat.StandardOutput;
            string result = reader.ReadToEnd();
            foreach (var line in result.Split('\n'))
            {
                if (line.IndexOf(flag) > -1)
                {
                    Console.Write(line.Split(' ')[6].Split(':')[0]);
                }
               
            }
        }
        catch
        {
            Console.Write("Error");
        }
    }
}COPY
QQ:1972544783

TOP

本帖最后由 Gin_Q 于 2021-3-8 14:55 编辑

回复 12# xczxczxcz


    非常感谢指点。正在学习中。。。 没有环境也能跑起来吗?
QQ:1972544783

TOP

返回列表