第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何解析txt文件中的netstat輸出并根據(jù)PID獲取所有遠(yuǎn)程IP地址作為變量?

如何解析txt文件中的netstat輸出并根據(jù)PID獲取所有遠(yuǎn)程IP地址作為變量?

PHP
慕標(biāo)琳琳 2024-01-20 15:39:29
背景我嘗試編碼所需的桌面 WPF 應(yīng)用程序允許我選擇當(dāng)前在本地計(jì)算機(jī)上運(yùn)行的進(jìn)程/應(yīng)用程序,并獲取應(yīng)用程序名稱和 PID 并將其存儲(chǔ)在變量中。每次用戶在選擇進(jìn)程后單擊按鈕后加載應(yīng)用程序時(shí),netstat -ano > C:\test.txt都會(huì)執(zhí)行 a。問(wèn)題有沒(méi)有辦法對(duì)其進(jìn)行編碼,以便可以將之前獲得的應(yīng)用程序名稱和 PID 與文件中匹配的 PID 行進(jìn)行比較test.txt,然后將遠(yuǎn)程 IP 地址存儲(chǔ)到變量或數(shù)組中?謝謝。
查看完整描述

1 回答

?
翻過(guò)高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

為什么要有一個(gè)文本文件?這是我解決問(wèn)題的方法,使用 DataTable 存儲(chǔ)數(shù)據(jù)并收集數(shù)據(jù):


        //Create the process

        using (Process ns = new Process())

        {


            DataTable dt = new DataTable();

            dt.Columns.AddRange(new DataColumn[] {

                    new DataColumn("Protocol"),

                    new DataColumn("Local Address"),

                    new DataColumn("Foreign Address"),

                    new DataColumn("State"),

                    new DataColumn("PID"),

                    new DataColumn("Process Name"),

                });


            ProcessStartInfo psi = new ProcessStartInfo("netstat.exe", "-ano");

            psi.RedirectStandardOutput = true;

            psi.UseShellExecute = false;

            ns.StartInfo = psi;

            // Run it, and read the results

            ns.Start();

            using (StreamReader r = ns.StandardOutput)

            {

                string output = r.ReadToEnd();

                ns.WaitForExit();


                //Parse those results into a DataTable, polling the Process info

                string[] lines = output.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);



                foreach (string line in lines)

                {

                    string[] elements = line.Split(' ');

                    if (elements.Length < 5) continue;

                    if (elements.Contains("Proto")) continue;


                    DataRow dr = dt.NewRow();


                    List<string> validElements = new List<string>();


                    //Weed out empty elements.

                    foreach (string element in elements)

                    {

                        //skip blanks

                        if (element.Trim() == "") continue;

                        validElements.Add(element);

                    }


                    foreach (string element in validElements)

                    {


                        foreach (DataColumn dc in dt.Columns)

                        {

                            // fill in the buckets. Note that UDP doesn't have a state

                            if (dr["Protocol"].ToString() == "UDP" && dc.ColumnName == "State") continue;


                            if (dr[dc] == DBNull.Value)

                            {

                                dr[dc] = element;

                                break;

                            }

                        }

                    }


                    dr["Process Name"] = Process.GetProcessById(int.Parse(dr["PID"].ToString())).ProcessName;

                    dt.Rows.Add(dr);

                }

            }

        }

這是我的結(jié)果數(shù)據(jù)的簡(jiǎn)短屏幕截圖:

https://img1.sycdn.imooc.com/65ab78d30001796506510331.jpg

然后我可以用這些數(shù)據(jù)在代碼中做任何我想做的事情。至少我會(huì)這么做。



查看完整回答
反對(duì) 回復(fù) 2024-01-20
  • 1 回答
  • 0 關(guān)注
  • 205 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)