dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

putty でポートフォワードして踏み台の先のWebサーバにアクセスする方法

2018-07-16 18:31:48 | linux
putty でポートフォワードする場合のメモ。

踏み台サーバで経由した先の非公開の Webサーバに、putty でポートフォワードして
アクセスする場合。

接続元: Windows端末
踏み台サーバ名: ssh
Webサーバ名:   web

[1] putty で踏み台サーバ(ssh)の接続情報を読み込み。
[2] 左メニューの[接続-SSH-トンネル]を選択。
[3] 源ポート: Windows 端末で指定するポート番号(以下の場合、10080)
  接続先:踏み台経由で接続したい "Webサーバ:ポート番号"(web:80) を指定。
[4] 「開く」ボタンを押下。
[5] ユーザID、パスワードを入力して踏み台サーバ(ssh)にログイン。
[6] ブラウザで http://127.0.0.1:10080/~ にアクセス。

wgetでリクエストヘッダを指定する方法

2018-07-16 18:07:16 | linux
wgetでリクエストヘッダを指定したい場合には、--header オプションで指定します。
wget --header='Host: def.com' --header='Referer: def.com' 'http://abc.com/index.html'

Referer は --referer='...' でも指定できますが。


実際に送信されるリクエストヘッダは --debug でデバッグ情報を出力することで
確認できます。
$ wget --debug 'http://abc.com/'

DEBUG output created by Wget 1.12 on linux-gnu.

--2018-07-16 18:24:20--  http://abc.com/
172.20.253.21:8080 に接続しています... 接続しました。
Created socket 3.
Releasing 0x0000000001c7aeb0 (new refcount 0).
Deleting unused 0x0000000001c7aeb0.

---request begin---
GET http://abc.com/ HTTP/1.0
User-Agent: Wget/1.12 (linux-gnu)
Accept: */*
Host: abc.com

---request end---
...



--header='Host: def.com' を付与すると、リクエストヘッダの Host: abc.com が
上書きされて Host: def.com になっているのがわかります。
$ wget --debug --header='Host: def.com' 'http://abc.com/'

Setting --header (header) to Host: abc.com
DEBUG output created by Wget 1.12 on linux-gnu.

--2018-07-16 18:20:40--  http://abc.com/
172.20.253.21:8080 に接続しています... 接続しました。
Created socket 3.
Releasing 0x00000000018e2eb0 (new refcount 0).
Deleting unused 0x00000000018e2eb0.

---request begin---
GET http://abc.com/ HTTP/1.0
User-Agent: Wget/1.12 (linux-gnu)
Accept: */*
Host: def.com

---request end---
...


pythonで改行を削除

2018-07-07 18:52:54 | python
python で改行を削除する方法のメモ。

line = line.replace('\n', '')
だと、改行が \r\n のファイルで '\r' が残るので、
line = line.replace('\r', '')
も必要。

re.sub() を使う方がすっきりしているかな。
line = re.sub('[\r\n]+$', '', line)

pudb3でpythonプログラムをデバッグ

2018-07-07 16:56:23 | python
pythonプログラムをデバッグするときには、デバッガの pudb3 が便利。

> pudb3 {プログラム名}


b(break point): ブレークポイントの設定
c(continue):  ブレークポイントまで実行
s(step into the function): ステップ実行(関数の中に入る)
n(next): 次の行へ

再実行したい場合には "q" で、Restart を選択