キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
18178
閲覧回数
10
いいね!
1
コメント
Taisuke Nakamura
Cisco Employee
Cisco Employee

 

 

はじめに

TCP pingを用いる事で、ASA自身から、もしくは 任意の送信元IP・ポート・インターフェイスから、任意宛先のTCPポートへの疎通確認を行う事ができます。

TCP pingは、ICMPの通過が許可されていない環境での、疎通確認の代替方法としても活用できます。

TCP pingは、ASAバージョン 8.4(1)からの新機能です。 CLI、もしくはASDMより実行可能です。 本ドキュメントは、ASA Software バージョン 9.4(1) を用いて確認、作成しております。 


   Caution:

TCP pingと Translate NAT(送信元アドレスの変換)を組み合わせて利用する事が可能です。 TCP pingと Untranslate NAT(宛先アドレスの変換)の組み合わせての利用は、version 9.5(2)から可能です。


      
      

TCP ping 動作概要

以下は、Webクライアントから WebサーバのTCP80番ポートにアクセス時の処理フロー概要です。


以下は、ASAのTCP ping機能を用い、Webクライアントと同じ送信元IPから、WebサーバのTCP80番ポート宛に、TCP pingを実行した時の処理フロー概要です。



TCP pingを利用時、ASAは指定されたIP・ポートの TCP SYNパケットを、送信元インターフェイスに注入します。 ASAは通常のTCP通信と同様に、当パケットの各種処理(ACLチェックやRouting、NAT、Securityチェックなど)を行った後、Egressインターフェイスより送出します。

対向機器が指定TCPポートをオープンしている場合、通常 SYN+ACK応答を行いますので、ASAが当応答を受信した場合は、TCP pingが成功したと みなし、速やかに対向機器に TCP Resetを送付し、コネクションをクローズします。

      
     

TCP ping コマンドライン

[書式]
ping tcp <if_name> <dst_host> <dst_port> [source <src_host> <src_port>] [repeat <count>] [timeout <seconds>]

 <if_name>  SYNパケットの送信元となるインターフェイス名
 <dst_host>  宛先IPアドレス、もしくは ホスト名
 <dst_port>  0-65535から、任意ポートを選択。0を選択時は、http(TCP=80)を利用
 [source]  未指定時はASAの実インターフェイスを利用
 <src_host>  送信元IPアドレスを指定
 <src_port>  0-65535から、任意ポートを選択。0を選択時は、ランダムポートを利用
 <count>  リピート回数。デフォルト5回
 <seconds>  タイムアウト間隔を秒で指定。デフォルト2秒

 

[コマンド例]    
 ASAインターフェイスから、WEBサーバ(1.0.0.101)のTCP80番ポート宛のTCP ping

 ping tcp 1.0.0.101 80


InsideのWebクライアント(172.16.0.1)のランダムポートから、HTTPSサーバ(1.0.0.101)のTCP443番ポート宛のTCP ping

 ping tcp inside 1.0.0.101 443 source 172.16.0.1 0


[コマンド実行例]
 指定のTCPポートと疎通性がある場合

ASA01# ping tcp inside 1.0.0.101 80 source 172.16.0.1 0
Type escape sequence to abort.
Sending 5 TCP SYN requests to 1.0.0.101 port 80
from 172.16.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/6 ms


 対向から TCP RESETを受信した場合 (例:TCPポートが開いていない時、など)

ASA01# ping tcp inside 1.0.0.101 25 source 172.16.0.1 0
Type escape sequence to abort.
Sending 5 TCP SYN requests to 1.0.0.101 port 25
from 172.16.0.1, timeout is 2 seconds:
RRRRR
Success rate is 0 percent (0/5)


 対向から 応答が無い場合 (例:対向が存在しない、経路でドロップ、など)

ASA01# ping tcp inside 1.0.0.102 80 source 172.16.0.1 0
Type escape sequence to abort.
Sending 5 TCP SYN requests to 1.0.0.102 port 80
from 172.16.0.1, timeout is 2 seconds:
?????
Success rate is 0 percent (0/5)


 Ciscoサイト (http://www.cisco.com) への疎通確認

ASA01(config)# ping tcp www.cisco.com 0
Type escape sequence to abort.
No source specified. Pinging from identity interface.
Sending 5 TCP SYN requests to 23.36.102.149 port 80
from 192.168.26.11, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/10/14 ms


[対話モード]

ASA01# ping tcp
Interface: inside
Target IP address: 1.0.0.101
Destination port: [80] 443
Specify source? [n]: y
Source IP address: 172.16.0.2
Source port: [0] 65001
Repeat count: [5]
Timeout in seconds: [2]
Type escape sequence to abort.
Sending 5 TCP SYN requests to 1.0.0.101 port 443
from 172.16.0.2 starting port 65001, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

        
       

TCP ping using ASDM

1. Tools > Ping を選択

2. Pingパネルが表示されるので、Packet Type: より TCPを選択し、任意値を入力

ASDM-02

         
           

ケース紹介

Case1: 社内端末から、インターネット上のWEBサーバへのアクセス確認

[要件]
以下構成において、Webクライアント(172.16.0.1)から、想定のACLでの許可と、Dynamic NAT(PAT)を行った後、WEBサーバ(1.0.0.101)のTCP80番ポートにアクセスすることが可能か、簡易試験と確認を行いたい。 

なお、WebクライアントとASA間は、疎通性がある事を 既に確認しているが、本試験ではWebクライアントは利用できないものとする。

Case01-01


[確認手順]
ASAにてTCP pingを実行し、insideインターフェイス側のWebクライアントのIPから、WEBサーバのTCP80番ポートにアクセスが可能である事を確認

ASA01(config)# ping tcp inside 1.0.0.101 80 source 172.16.0.1 0 repeat 1
Type escape sequence to abort.
Sending 1 TCP SYN requests to 1.0.0.101 port 80
from 172.16.0.1, timeout is 2 seconds:
!
Success rate is 100 percent (1/1), round-trip min/avg/max = 1/1/1 ms


show logより、想定のACLにHITした後、想定の送信元IPに PATされている事を確認

ASA01(config)# show log
Apr 05 2015 21:59:38: %ASA-6-106100: access-list IN permitted tcp inside/172.16.0.1(15641) -> outside/1.0.0.101(80) hit-cnt 1 first hit [0xa5a49d63, 0x0]
Apr 05 2015 21:59:38: %ASA-6-305011: Built dynamic TCP translation from inside:172.16.0.1/15641 to outside:1.0.0.7/15641
Apr 05 2015 21:59:38: %ASA-6-302013: Built outbound TCP connection 2600 for outside:1.0.0.101/80 (1.0.0.101/80) to inside:172.16.0.1/15641 (1.0.0.7/15641)
Apr 05 2015 21:59:38: %ASA-6-302014: Teardown TCP connection 2600 for outside:1.0.0.101/80 to inside:172.16.0.1/15641 duration 0:00:00 bytes 0 Flow closed by inspection


show access-listより、想定のlineに HITしている事を確認

ASA01(config)# show access-list IN
access-list IN; 5 elements; name hash: 0x9f2434aa
access-list IN line 1 extended permit tcp 172.16.0.0 255.255.255.0 any eq www log informational interval 300 (hitcnt=1) 0xa5a49d63
access-list IN line 2 extended permit tcp 172.16.0.0 255.255.255.0 any eq https log informational interval 300 (hitcnt=0) 0xbccfa150
access-list IN line 3 extended permit tcp 172.16.0.0 255.255.255.0 any eq smtp log informational interval 300 (hitcnt=0) 0x4a7eb67d


show nat detailより、想定のNATエントリに HITしている事を確認

ASA01(config)# show nat detail
                  --- snip ---
Auto NAT Policies (Section 2)
1 (inside) to (outside) source dynamic IN-172.16.0.0 interface
    translate_hits = 1, untranslate_hits = 0
    Source - Origin: 172.16.0.0/24, Translated: 1.0.0.7/24

              
              

参考情報

Cisco ASA Series Command Reference, I - R Commands
http://www.cisco.com/c/en/us/td/docs/security/asa/asa-command-reference/I-R/cmdref2/p1.html#pgfId-2133619

ファイアウォール トラブルシューティング
https://supportforums.cisco.com/ja/document/12725841

Firepower System and FTDトラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161733

 

コメント
HITOSHIYAMADA8041
Spotlight
Spotlight

仮にWebサーバにこのTCP 80番のping コマンドを使うと、実際に宛先のWebサーバには80番でアクセスしてきたこととしてアクセスログに出力されるのでしょうか?

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします