chinda_fall_desu’s diary

竹内豊の日記

ヒューマンコンピューターインターフェースをもっと知りたいなー

2020-01-01から1ヶ月間の記事一覧

pythonとParamikoでsshの通信を行う(sshサーバ作成)

paramikoモジュールを使ってpythonでsshサーバを立ててみる。 (1)sshサーバを立てる (適宜分割して示す) import socket import threading import paramiko host_key = paramiko.RSAKey(filename='test_rsa.key') 簡単のため配布されているデモファイル 'test…

pythonとtelnetで通信を行う

telnetとsshのどちらもほかのコンピュータと接続するための仕組みであるが、telnetは通信を暗号化しないためその内容を覗き見られる危険性がある。 サーバを自分で作って、wiresharkで通信を覗いてみる。 (1)telnetで通信を行う ・サーバ import socket impo…

ksnctfを使ってHTTP通信について学ぶ④(python・ksnctf-9)

前回、pythonでHTTPリクエストメッセージを作り、HTTPレスポンスメッセージを表示させた。 これを用いて、ksnctfの問9を解いてみる。 ksnctf - 9 Digest is secure! 認証を行ってflag.htmlにアクセスすればいいことまではわかっている。 Authorizationヘッダ…

ksnctfを使ってHTTP通信について学ぶ③(python・ksnctf-8)

HTTP通信をpythonで行う方法を学び、それを使って次回ksnctfの問9を解く。 ksnctf - 9 Digest is secure! ①HTTPリクエストメッセージをPythonで作る ・下記はksnctfの問8のHTTPリクエストメッセージ GET /~q8/ HTTP/1.1 Host: ctfq.sweetduet.info:10080 Con…

ksnctfを使ってHTTP通信について学ぶ②(ksnctf-9)

ksnctfを解きながら、パケット解析について学ぶ。 今回はksnctfの問9を題材にして引き続き、HTTP通信について学ぶ。 ksnctf - 9 Digest is secure! 下記は今回のpcapファイルから得られたTCPストリームである。 GET /~q9/ HTTP/1.1 Host: ctfq.sweetduet.inf…

ksnctfを使ってHTTP通信について学ぶ①(ksnctf-8)

今回はksnctfの問8を題材にする。 ksnctf - 8 Basic is secure? ここで配布されているpcapファイルで得られるTCPストリームからHTTP通信について学ぶ。 GET /~q8/ HTTP/1.1 Host: ctfq.sweetduet.info:10080 Connection: keep-alive Authorization: Basic cT…

pythonでsocketを使って通信を行う③ (コマンドの実行)

今回は前回までのコードを再び改良し、コマンドを実行できるようにする。 準備 コマンドの実行にはsubprocessモジュールを用いる。 下記のようにして、コマンドを実行できる。 import subprocess com=subprocess.run("dir", stdout=subprocess.PIPE,stderr=s…

pythonでsocketを使って通信を行う② (ファイルの送受信)

今回は前回作ったコードを改良して、テキストファイルを送信できるようにする。ソースコード ・サーバ側 import socket bind_host="0.0.0.0" bind_port=50000 server=socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind((bind_host, bind_port)…

pythonでsocketを使って通信を行う① (通信の確立)

サーバとクライアント間でお互いにデータを送りあえることを確認する。 これを通して、ソケット通信について学ぶ。 まずパソコン間で一文ずつ送りあえるアプリケーションを作った。 ソースコード ・サーバ側 import socket bind_host="0.0.0.0" bind_port=50…

pythonでWMIを使ってプロセスを監視する (Windows) ②

前回に引き続き、プロセスの監視を行う。 今回はメモ帳のプロセスの監視を行い、メモ帳が開かれたときにほかの自分が用意したファイルと入れ替え、そのファイルに内容が保存されるようにする。 こうすればpythonからメモ帳の保存を操作でき、ファイルの整理…

pythonでWMIを使ってプロセスを監視する (Windows) ①

Windowsが提供するWMIを使ってプロセスの監視を行ってみる。 下記のドキュメントを参考にした。 wmi Tutorial — WMI v1.4.9 documentation WMIモジュールをpipでインストールする。 pip install wmi プロセスの作成と終了を監視してみる。 ・ソースコード im…

pythonでpyHookを使ってキーロガーを作る (Windows) ⑤

今度はpyHookを使わずにWindowsAPIだけを使ってキーロガーを作れないか試してみる。WindowsAPIのGetAsyncKeyState()という関数を使ってみる。 GetAsyncKeyState function (winuser.h) - Win32 apps | Microsoft Docs 得られる仮想コードからどのキーが押され…

pythonでpyHookを使ってキーロガーを作る (Windows) ④

これまでの知識を使って、今度はpyHookでマウスをフックしてみる。マウスを左クリックしたときにクリックした座標を出力させる。 ・ソースコード from ctypes import * import pythoncom import pyHook import sys import time def Lclick(event): print("Lc…

pythonでpyHookを使ってキーロガーを作る (Windows) ③

前回に引き続き、下記のpyHookのリファレンスを見て、コードの意味を探る。 API Documentation hkm.HookKeyboard() 上記のコードの意味を調べる。 def HookKeyboard(self): cpyHook.cSetHook(HookConstants.WH_KEYBOARD_LL, self.KeyboardSwitch) self.keybo…

pythonでpyHookを使ってキーロガーを作る (Windows) ②

今回は下記のpyHookのリファレンスを見て、コードの意味を探る。 API Documentation # フックマネージャーの作成とコールバック関数の登録を行う hkm=pyHook.HookManager() hkm.KeyDown=Press 上記のコードの意味を調べる。 ① hkm=pyHook.HookManager() でHo…

pythonでpyHookを使ってキーロガーを作る (Windows)

キーロガーを作るためにpythonのライブラリであるPyHookを用いる。 PyHookはネイティブWindowsAPIのSetWindowsHookExを使っている。 まずPyHookをpipでインストールしようと思ったがうまくいかなかった。 > pip install pyhook ERROR: Could not find a vers…

pythonでハイライト部分(選択箇所)の読み上げを行う (Windows)

①pyautoguiでハイライト部分(選択箇所)をクリップボードに送る ②win32clipboardでクリップボードの中身を取り出す chindafalldesu.hatenablog.com ③winsoundでwavファイルを再生する chindafalldesu.hatenablog.com この手順で a という文字をハイライトし…

pythonでwavファイルを再生する (Windows)

Windowsではwinsoundモジュールを使えば、wavファイルを再生することができる。 PlaySound()メソッドで音声ファイルを再生できる。 winsound.PlaySound(sound, flags)soundにファイル名を格納する。 flagにwinsound.SND_FILENAMEを格納しsoundパラメータがwa…

pythonでハイライトされている部分を監視する (Windows)

pyautoguiライブラリのhotkey()メソッドを使えば、コピー機能を実現できる。 import pyautogui pyautogui.hotkey('copy', 'c') これに加えてクリップボードの監視を行えばハイライト部分を監視することができる。 ・ソースコード import pyautogui import wi…

pythonで自動入力を行う

PyAutoGUIを使えば、キーボードやマウスの自動操作を行える。まずは以下のようにインストールする。 pip install pyautogui①マウスをある地点まで移動させる ・ソースコード import pyautogui pyautogui.moveTo(10,10,1) ・実行結果 マウスカーソルがx=10, y…

pythonでクリップボードを監視する

timeモジュールを使えば、一定時間おきに処理をする、といったことができる。 import time time.sleep(1) こうすれば1秒おきに処理することができる。これとwin32clipboardモジュールを使って、クリップボードを監視する。 ・ソースコード import win32clipb…

pythonでクリップボードを扱う

win32clipboardモジュールを使ってクリップボードを扱う。 win32clipboardはpywin32パッケージに含まれているのでpipでpywin32をインストールする。 pip install pywin32・サンプルコード import win32clipboard win32clipboard.OpenClipboard() contents=wi…

ブログにソースコードを張り付けてみる

はてな記法を用いて、c言語のコードを載せてみました。 #include <stdio.h> int main(){ printf("Hello, World!!"); return 0; }</stdio.h>

初めてのブログ投稿

軽い気持ちでブログ投稿を始めてしまいました。 これからどうぞよろしくお願いいたします。