この記事を読むと、コンピューターが私のWebサイトをホストしているサーバーに接続されていることを確認できますが、Webブラウザー(web browser)で開いているサイトへの明らかな接続に加えて、コンピューターが他のサーバーのホスト全体に接続している可能性があります。見えません。
ほとんどの場合、この記事に書かれていることは多くの技術的なことを調べる必要があるため、実際には何もしたくありませんが、コンピューター上に密かに通信するべきではないプログラムがあると思われる場合インターネット(Internet)では、以下の方法で異常を特定できます。
いくつかのプログラムがインストールされたWindows(Windows)のようなオペレーティングシステム(operating system)を実行しているコンピューターは、デフォルトで外部サーバーへの多くの接続を確立することになります。たとえば、再起動後、プログラムが実行されていないWindows 10マシンでは、 (Windows 10)OneDrive、Cortana、さらにはデスクトップ検索など、 Windows自体によっていくつかの接続が確立されます。Windows 10のセキュリティ保護に関する私の記事を読んで、Windows10が(Windows 10)Microsoftサーバーと頻繁に通信するのを防ぐ方法について学びます。
コンピュータがインターネット(Internet)に接続する接続を監視するには、コマンドプロンプト(command prompt)、リソースモニター(Resource Monitor)、またはサードパーティプログラムの3つの方法があります。コマンドプロンプト(command prompt)は最も技術的で解読が最も難しいため、最後に説明します。
リソースモニター
コンピューターが確立しているすべての接続を確認する最も簡単な方法は、ResourceMonitorを使用することです。それを開くには、[スタート]をクリックしてから、(Start)リソースモニター(resource monitor)を入力する 必要があります。上部にいくつかのタブが表示されます。クリックしたいのはネットワーク(Network)です。
このタブには、さまざまな種類のデータを含むいくつかのセクションが表示されます。ネットワークアクティビティ、ネットワークアクティビティ(Network Activity)、TCP接続( TCP Connections)、およびリスニングポートを使用する( Listening Ports)プロセス(Processes with Network Activity)。
これらの画面に表示されるすべてのデータは、リアルタイムで更新されます。任意の列のヘッダーをクリックして、データを昇順または降順で並べ替えることができます。[ネットワークアクティビティ (Processes with Network Activity )のあるプロセス]セクションのリストには、あらゆる種類のネットワークアクティビティ(network activity)があるすべてのプロセスが含まれています。また、各プロセスの1秒あたりのバイト数で送受信されたデータの合計量を確認することもできます。各プロセスの横に空のチェックボックスがあり、他のすべてのセクションのフィルターとして使用できます。
たとえば、nvstreamsvc.exeが何であるかわからなかったので、それを確認してから、他のセクションのデータを確認しました。[ネットワークアクティビティ](Network Activity)で、[アドレス](Address) フィールドを確認します。このフィールドには、リモートサーバーのIPアドレスまたは(IP address)DNS名が表示されます。(DNS name)
ここに記載されている情報自体は、必ずしも何かが良いか悪いかを判断するのに役立つとは限りません。プロセスを特定するには、サードパーティのWebサイトを使用する必要があります。まず、プロセス名(process name)がわからない場合は、先に進み、フルネーム、つまりnvstreamsvc.exeを使用して(nvstreamsvc.exe)Googleで処理します。
常に、少なくとも最初の4〜5個のリンクをクリックすると、プログラムが安全かどうかがすぐにわかります。私の場合、それは安全なNVIDIAストリーミングサービスに関連していましたが、私が必要としたものではありませんでした。(NVIDIA streaming)具体的には、このプロセスは、PCからNVIDIA Shieldにゲームをストリーミングするためのものですが、私は持っていません。残念ながら、NVIDIAドライバー(NVIDIA driver)をインストールすると、不要な他の多くの機能がインストールされます。
このサービスはバックグラウンドで実行されているので、私はそれが存在することを知りませんでした。GeForceパネル(GeForce panel)に表示されなかったので、ドライバーをインストールしただけだと思いました。このサービスが必要ないことに気づいたら、NVIDIAソフトウェア(NVIDIA software)をアンインストールして、使用したことがないにもかかわらず、ネットワーク上で常に通信していたサービスを取り除くことができました。これは、各プロセスを掘り下げることで、マルウェアの可能性を特定するだけでなく、ハッカーによって悪用される可能性のある不要なサービスを削除するのに役立つ一例です。
次に、[アドレス](Address)フィールドにリストされているIPアドレスまたはDNS名(IP address or DNS name)を検索する必要があります。DomainToolsのようなツールをチェックアウトすると、必要な情報が得られます。たとえば、 [ネットワークアクティビティ]で、 (Network Activity)steam.exeプロセスが(steam.exe process)IPアドレス208.78.164.10(IP address 208.78.164.10)に接続していることに気付きました。それを上記のツールに接続したとき、ドメインがSteamを所有している会社であるValveによって制御されていることを知り、うれしく思いました。
IPアドレスが(IP address)中国やロシア(China or Russia)、またはその他の奇妙な場所にあるサーバーに接続している場合は、問題が発生している可能性があります。プロセスをグーグルで検索すると、通常、悪意のあるソフトウェアを削除する方法に関する記事が表示されます。
サードパーティプログラム
Resource Monitorは優れており、多くの情報を提供しますが、もう少し多くの情報を提供できるツールは他にもあります。私がお勧めする2つのツールは、TCPViewとCurrPortsです。CurrPortsがより多くのデータを提供することを除いて、どちらもほとんど同じように見えます。TCPViewのスクリーンショットは次のとおりです。
最も関心のある行は、状態(State)がESTABLISHEDの行です。任意の行を右クリックして、プロセスを終了するか、接続を閉じることができます。CurrPortsのスクリーンショットは次のとおりです。
繰り返しになりますが、リストを参照するときは、確立(ESTABLISHED)された接続を確認してください。下部のスクロールバーからわかるように、CurrPortsの各プロセスにはさらに多くの列があります。これらのプログラムを使用すると、本当に多くの情報を得ることができます。
コマンドライン
最後に、コマンドライン(command line)があります。netstatコマンドを使用して、 TXTファイル(TXT file)に出力された現在のすべてのネットワーク接続に関する詳細情報を提供します。この情報は基本的に、Resource Monitorまたはサードパーティプログラムから取得する情報のサブセットであるため、実際には技術者にのみ役立ちます。
これが簡単な例です。まず(First)、管理者コマンドプロンプトを(Administrator command prompt and type)開き、次のコマンドを入力します。
netstat -abfot 5 > c:\activity.txt
(Wait)約1〜2分待ってから、キーボードのCTRL + Cを押してキャプチャを停止します。上記のnetstatコマンドは、基本的に5秒ごとにすべてのネットワーク接続データをキャプチャし、(network connection)テキストファイル(text file)に保存します。– abfot部分は、ファイル内の追加情報を取得できるようにするための一連のパラメーターです。興味がある場合に備えて、各パラメータの意味は次のとおりです。
ファイルを開くと、上記の他の2つの方法から取得した情報とほぼ同じ情報が表示されます。プロセス名(process name)、プロトコル、ローカルおよびリモートポート番号、リモートIP Address/DNS name、接続状態(connection state)、プロセスIDなどです。 。
繰り返し(Again)になりますが、このデータはすべて、何か怪しいこと(something fishy)が起こっているかどうかを判断するための最初のステップです。多くのグーグル(Googling)を実行する必要がありますが、誰かがあなたを詮索しているかどうか、またはマルウェアがコンピューターからリモートサーバーにデータを送信しているかどうかを知るための最良の方法です。ご不明な点がございましたら、お気軽にコメントください。楽しみ!
Monitor Hidden Website and Internet Connections
You can be pretty sure that уоur computer is connected to the server hosting my website as you read this article, but іn addition to the obvious connections to the siteѕ open in your web browser, your computer may be connecting to a wholе hoѕt of other servеrs that are not visible.
Most of the time, you’re really not going to want to do anything written in this article since it requires looking at a lot of technical stuff, but if you think there is a program on your computer that shouldn’t be there communicating secretly on the Internet, the methods below will help you identify anything unusual.
It’s worth noting that a computer running an operating system like Windows with a few programs installed will end up making a lot of connections to outside servers by default. For example, on my Windows 10 machine after a reboot and with no programs running, several connections are made by Windows itself, including OneDrive, Cortana and even desktop search. Read my article on securing Windows 10 to learn about ways you can prevent Windows 10 from communicating with Microsoft servers too often.
There are three ways you can go about monitoring the connections that your computer makes to the Internet: via the command prompt, using Resource Monitor or via third-party programs. I’m going to mention the command prompt last since that’s the most technical and hardest to decipher.
Resource Monitor
The easiest way to check out all the connections your computer is making is to use Resource Monitor. To open it, you have to click on Start and then type in resource monitor. You’ll see several tabs across the top and the one we want to click on is Network.
On this tab, you’ll see several sections with different types of data: Processes with Network Activity, Network Activity, TCP Connections and Listening Ports.
All the data listed in these screens are updated in real time. You can click on a header in any column to sort the data in ascending or descending order. In the Processes with Network Activity section, the list includes all the processes that have any kind of network activity. You’ll also be able to see the total amount of data sent and received in bytes per second for each process. You’ll notice there is an empty checkbox next to each process, which can be used as a filter for all the other sections.
For example, I wasn’t sure what nvstreamsvc.exe was, so I checked it and then looked at the data in the other sections. Under Network Activity, you want to look at the Address field, which should give you an IP address or the DNS name of the remote server.
In and of itself, the information here won’t necessarily help you figure out whether something is good or bad. You have to use some third-party websites to help you identify the process. Firstly, if you don’t recognize a process name, go ahead and Google it using the full name, i.e. nvstreamsvc.exe.
Always, click through at least the first four to five links and you’ll instantly get a good idea of whether or not the program is safe or not. In my case, it was related to the NVIDIA streaming service, which is safe, but not something I needed. Specifically, the process is for streaming games from your PC to the NVIDIA Shield, which I don’t have. Unfortunately, when you install the NVIDIA driver, it installs a lot of other features you don’t need.
Since this service run in the background, I never knew it existed. It didn’t show up in the GeForce panel and so I assumed I just had the driver installed. Once I realized I didn’t need this service, I was able to uninstall some NVIDIA software and get rid of the service, which was communicating on the network all the time, even though I never used it. So that’s one example of how digging into each process can help you not only identify possible malware, but also remove unnecessary services that could possibly be exploited by hackers.
Secondly, you should look up the IP address or DNS name listed in the Address field. You can check out a tool like DomainTools, which will give you the information you need. For example, under Network Activity, I noticed that the steam.exe process was connecting to IP address 208.78.164.10. When I plugged that into the tool mentioned above, I was happy to learn that the domain is controlled by Valve, which is the company that owns Steam.
If you see an IP address is connecting to a server in China or Russia or some other strange location, you might have a problem. Googling the process will normally lead you to articles on how to remove the malicious software.
Third Party Programs
Resource Monitor is great and gives you a lot of info, but there are other tools that can give you a little bit more information. The two tools that I recommend are TCPView and CurrPorts. Both pretty much look exactly the same, except that CurrPorts gives you a whole lot more data. Here’s a screenshot of TCPView:
The rows you are mostly interested in are the ones that have a State of ESTABLISHED. You can right-click on any row to end the process or close the connection. Here’s a screenshot of CurrPorts:
Again, look at ESTABLISHED connections when browsing through the list. As you can see from the scrollbar at the bottom, there are many more columns for each process in CurrPorts. You can really get a lot of information using these programs.
Command Line
Finally, there is the command line. We will use the netstat command to give us detailed information about all the current network connections outputted to a TXT file. The information is basically a subset of what you get from Resource Monitor or the third-party programs, so it’s really only useful for techies.
Here’s a quick example. First, open an Administrator command prompt and type in the following command:
netstat -abfot 5 > c:\activity.txt
Wait for about a minute or two and then press CTRL + C on your keyboard to stop the capture. The netstat command above will basically capture all network connection data every five seconds and save it to the text file. The –abfot part is a bunch of parameters so that we can get extra information in the file. Here is what each parameter means, in case you are interested.
When you open the file, you’ll see pretty much the same information that we got from the other two methods above: process name, protocol, local and remote port numbers, remote IP Address/DNS name, connection state, process ID, etc.
Again, all of this data is a first step to determining whether something fishy is going on or not. You’ll have to do a lot of Googling, but it’s the best way to know if someone is snooping on you or if malware is sending data from your computer to some remote server. If you have any questions, feel free to comment. Enjoy!